1. 程式人生 > >Mysql5.7 ,Linux 環境安裝

Mysql5.7 ,Linux 環境安裝

Mysql5.7 ,Linux 環境安裝

1、下載mysql-5.7.8-rc-linux-glibc2.5-x86_64.tar.gz

連結:https://pan.baidu.com/s/1z4z8g6hzJWtNSqX96HxR8Q 
   提取碼:mkp8 

2、解壓安裝包:
進入安裝包所在目錄,執行命令:
tar -xzvf mysql-5.7.8-rc-linux-glibc2.5-x86_64.tar.gz

3、複製解壓後的mysql目錄到系統的本地軟體目錄:
注意:/opt/modules/mysql 必須是不存在的目錄,如果mysql資料夾存在,就把mysql-5.7.8-rc-linux-glibc2.5-x86_64檔案裡面的資料複製進去。
執行命令:
cp mysql-5.7.8-rc-linux-glibc2.5-x86_64 /opt/modules/mysql -r
注意:目錄結尾不要加/

chmod 777 -R /opt/modules

4、新增系統mysql組和mysql使用者:
執行命令:groupadd mysql和useradd -r -g mysql mysql

5、安裝資料庫:
進入安裝mysql軟體目錄:執行命令 cd /opt/modules/mysql
修改當前目錄擁有者為mysql使用者:執行命令 chown -R mysql:mysql ./
安裝資料庫:執行命令

./bin/mysqld --user=mysql --user=mysql --basedir=/opt/modules/mysql --datadir=/opt/modules/mysql/data/ --initialize 




修改當前目錄擁有者為root使用者:執行命令 chown -R root:root ./
修改當前data目錄擁有者為mysql使用者:執行命令 chown -R mysql:mysql data
到此資料庫安裝完畢

6、複製mysql服務啟動配置檔案
cp /opt/modules/mysql/support-files/my-default.cnf /etc/my.cnf

更改配置檔案:
	-------------------------------------------------------------------
		basedir = /opt/modules/mysql
		datadir = /opt/modules/mysql/data/
		port = 3306
		# server_id = .....
		socket =  /tmp/mysql.sock

		# Remove leading # to set options mainly useful for reporting servers.
		# The server defaults are faster for transactions and fast SELECTs.
		# Adjust sizes as needed, experiment to find the optimal values.


		innodb_buffer_pool_size=6G

		join_buffer_size = 256M
		sort_buffer_size = 8M
		key_buffer_size = 8M

		max_allowed_packet = 100M
	
	-------------------------------------------------------------------

7、複製mysql服務啟動指令碼及加入PATH路徑
cp support-files/mysql.server /etc/init.d/mysqld

vi /etc/profile 

	MYSQL_HOME=/opt/modules/mysql

	export PATH=$MYSQL_HOME/bin:$MYSQL_HOME/lib:$PATH
	
 

source /etc/profile  

8、啟動mysql服務並加入開機自啟動(可選這個步驟,以後可以自己啟動的)
service mysqld start
chkconfig --level 35 mysqld on

9、檢查mysql服務是否啟動
ss -lntp | grep 3306

10、修改mysql的root使用者密碼

	MySQL5.7在安裝完後,第一次啟動時,會在root目錄下生產一個隨機的密碼,檔名為.mysql_secret(隱藏檔案)
	vi /root/.mysql_secret
	
	mysql -uroot -p
	
	e+o?VkPu%69j
	
	登入時需要用隨機密碼登入,然後通過以下命令修改密碼  --不需要重啟

	SET PASSWORD = PASSWORD('root');

11、開啟遠端連線
mysql無法連結。。 !!!!
java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES)
1、mysql -u root -poperation123
2、use mysql;
3、select user,host from user;
4、select user,host from user where host=’%’;
如果資料為空則:update user set host=’%’ where host = ‘127.0.0.1’; (切記 root使用者不要清空啊!!!! )
如果資料為空則:update user set host=’%’ where user = ‘root’; (切記 root使用者不要清空啊!!!! )
5、select user,host from user where host!=’%’;
6、delete from user where host!=’%’;
7、select user,host from user;

	8.Ctrl-C -- exit!
	9、su - root
	10、service mysqld restart

錯誤異常:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
解決方法:

由於mysql 預設的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系統總是去/tmp/mysql.sock查詢,所以會報錯
[[email protected] ~]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
	 
	1.直接指定mysql通道
	 
	[[email protected] ~]# mysql --socket=/var/lib/mysql/mysql.sock
	Welcome to the MySQL monitor.  Commands end with ; or /g.
	Your MySQL connection id is 2 to server version: 5.0.22
	Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
	mysql>
	 
	2. 建立符號連線:
	 
	為mysql.sock增加軟連線(相當於windows中的快捷方式)。
	ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

	eg:
	[email protected] ~]# mysql
	ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
	[[email protected] ~]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
	[[email protected] ~]# mysql
	Welcome to the MySQL monitor.  Commands end with ; or /g.
	Your MySQL connection id is 3 to server version: 5.0.22
	Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
	mysql>

解除安裝msyql
1、查詢以前是否裝有mysql
命令:rpm -qa|grep -i mysql
可以看到mysql的兩個包:
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
2、刪除mysql
刪除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
3、刪除老版本mysql的開發標頭檔案和庫
find / -name mysql
查詢結果如下:
[[email protected] ~]# find / -name mysql

		刪除對應的mysql目錄
		rm -rf /var/lock/subsys/mysql
		rm -rf /opt/modules/mysql
		rm -rf /home/hadoop/temp/mysql-5.7.8-rc-linux-glibc2.5-x86_64
		rm -rf /opt/modules/mysql

4、檢視mysql程序 使用 (kill -9) 刪除
	ps -ef|grep mysqld

	kill -9 17614









忘記mysql root命令
1.關閉正在執行的MySQL
2.啟動MySQL的安全模式,命令如下:
  mysqld_safe --skip-grant-tables & 
3 完成以後就可以不用密碼進入MySQL了
  mysql -u root -p
  
  >use mysql  
>update mysql.user set authentication_string=password('msstar') where user='root'
>flush privileges; 


如果開啟遠端連結的時候,提示密碼過期的話,重新設定。
SET PASSWORD = PASSWORD('msstar');