1. 程式人生 > >Linux下Mysql的安裝及執行(詳解)

Linux下Mysql的安裝及執行(詳解)

1、組及使用者建立:
sudo groupadd mysql #新增組
sudo useradd -r -g mysql mysql #新增所建立組下的使用者
2、官方下載網址
wget http://downloads.mysql.com/archives/get/file/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz
注:wget命令缺失,下載安裝包命令為:yum -y install wget
4、 壓縮包下載到/usr/local目錄下,對壓縮包進行解壓,解壓命令為:
sudo tar -zxvf mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz
解壓後的檔名為:“mysql-5.6.28-linux-glibc2.5-x86_64”。
5、 將解壓後的檔案mysql-5.6.28-linux-glibc2.5-x86_64重新命名為:mysql,


命令為:“sudo mv mysql-5.6.28-linux-glibc2.5-x86_64 mysql”.
6、然後,切入到/usr/local/mysql資料夾下後,依次執行的命令為:
->chown -R mysql . 修改該目錄下的所有子目錄和檔案歸mysql使用者所有
->chgrp -R mysql . 修改該目錄下的所有子目錄和檔案歸mysql組所有
->修改當前目錄擁有者為mysql使用者:執行命令為:chown -R mysql:mysql ./
->在安裝資料庫:執行命令為:./scripts/mysql_install_db -user=mysql
(或者./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data)

**注:安裝報錯**
1)FATAL ERROR: please install the following Perl modules before executing ./scripts        /mysql_install_db:
Data::Dumper
執行: yum install autoconf命令再安裝。 

2)[[email protected] mysql]# ./scripts/mysql_install_db -user=mysql
Installing MySQL system tables…/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

  1. ->修改當前目錄擁有者為root使用者:執行命令為:chown -R root:root ./
    ->修改當前data目錄擁有者為mysql使用者:執行命令chown -R mysql:mysql data(注意:檢視使用者的許可權命令為:ll)
    ->啟動mysql服務和新增開機啟動mysql服務:新增開機啟動:執行命令為:cp support-files/mysql.server /etc/init.d/mysql,把啟動指令碼放到開機初始化目錄
    ->啟動mysql服務:執行命令為:service mysql start
    ->執行命令:ps -ef|grep mysql 看到mysql服務說明啟動成功
    注:啟動報錯
    Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/bogon.pid).
    可能是因為etc目錄下的my.cnf和安裝目錄下的my.cnf檔案衝突,刪除etc目錄下的my.cnf即可。

9、最後修改mysql的root使用者密碼,root初始化為空的:執行命令為:./bin/mysqladmin -u root password 123456
注:報錯
bash: ./bin/mysql: 沒有那個檔案或目錄


		error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
		Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
1.find / -name mysql.sock
2.rm 	/tmp/mysql.sock
3.軟連線
 ln -s  /var/lib/mysql/mysql.sock /tmp/mysql.sock 

10、如何進入到mysql資料庫中?首先切入到/usr/local/mysql目錄下,然後執行命令為:bin/mysql -u root -p,然後就會彈出"Enter password:",
最後,輸入密碼為"123456"
11、進入到mysql資料庫後,新增遠端訪問使用者,mysql>(輸入的命令為:)grant all on . to [email protected]’%’ identified by ‘123456’;
把root使用者許可權放開(所有遠端都可連), mysql>flush privileges;
設定好後退出,mysql>exit;
12、配置不區分大小寫:在/usr/local/java/mysql/my.cnf中 [mysql]中文字最下加上 lower_case_table_names=1
13、配置連線超時設定:在/usr/local/java/mysql/my.cnf中 [mysql]中文字最下加上 interactive_timeout=28800000和wait_timeout=28800000
14、修改完之後重啟MySQL服務:service mysql restart
http://blog.csdn.net/qq_17776287/article/details/53536761

注:root密碼不能被初始化改變
使用rpm包安裝完mysql後,按照一下步驟重置root密碼:
啟動mysql:
#/etc/init.d/mysql start
啟動成功後檢視mysql程序資訊,獲取mysqld_safe的安裝目錄(非常關鍵):
#ps -ef | grep -i mysql
root 3466 1 0 01:45 pts/1 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/BSC.TEST.pid
mysql 3569 3466 16 01:45 pts/1 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/BSC.TEST.err --pid-file=/var/lib/mysql/BSC.TEST.pid
root 3597 3105 0 01:45 pts/1 00:00:00 grep -i mysql

可以看到mysqld_safe的安裝位置(上面標藍色部分):/usr/bin/
接著執行一下命令停止mysql:
/etc/init.d/mysql stop

以安全方式啟動mysql:
#/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &

稍等5秒鐘,然後執行以下語句:
#/usr/bin/mysql -u root mysql
注意:mysql與mysql_safe目錄一樣,都是:/usr/bin/下,這個是通過“ps -ef | grep -i mysql”命令得到的。

出現“mysql>”提示符後輸入:
mysql> update user set password = Password(‘root’) where User = ‘root’;
回車後執行(重新整理MySQL系統許可權相關的表):
mysql> flush privileges;
再執行exit退出:
mysql> exit;

mysql更改密碼
開啟cmd:mysql -uroot -p
進入mysql依次執行下面語句
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #修改加密規則
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新一下使用者的密碼
FLUSH PRIVILEGES; #重新整理許可權
重置密碼:alter user ‘root’@‘localhost’ identified by ‘xzx123456’;
注報錯:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

修改密碼加密方式,改成mysql_native_password
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;
然後修改密碼:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
或者執行命令flush privileges;使許可權配置項立即生效。