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');