Linux之centos7.3安裝mysql
1.進入到要存放安裝包的位置
cd /usr/local/mysql
2.下載mysql5.7的YUM源:
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
3.安裝 mysql57-community-release-el7-8.noarch.rpm:
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
4.安裝MySQL,出現提示的話,一直Y就可以了
yum install mysql-server
5.執行mysql
service mysqld start
6.查詢/var/log/mysqld.log 檔案中自動生成的隨機的密碼,登入 MySQL 服務端:
grep "password" /var/log/mysqld.log
將會返回如下內容, UpSmvzq=z1fB就是密碼:
A temporary password is generated for [email protected]: UpSmvzq=z1fB
7.用隨機密碼登入
mysql -u root -p
UpSmvzq=z1fB
8.剛安裝的mysql的密碼預設強度是最高的,如果想要設定簡單的密碼就要修改validate_password_policy的值
Policy | Tests Performed |
---|---|
0 or LOW |
Length |
1 or MEDIUM |
Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG |
Length; numeric, lowercase/uppercase, and special characters; dictionary file |
設定安全級別:
set global validate_password_policy=0;
預設密碼長度為8,設定其值為最小4位:
set global validate_password_length=4;
9.更改密碼
set password = password('new password');
alter user 'root'@'localhost' password expire never;
flush privileges;
設定使用者 root 可以在任意 IP 下被訪問:
grant all privileges on *.* to [email protected]"%" identified by "new password";
設定使用者 root 可以在本地被訪問:
grant all privileges on *.* to [email protected]"localhost" identified by "new password";
重新整理許可權使之生效:
flush privileges;
OK,輸入 exit 後用新密碼再次登入看看吧!
注意:如果用遠端工具還是連線不上,試試用 iptables -F 命令來清除防火牆中鏈中的規則
8.MySQL控制命令:啟動、停止、重啟、檢視狀態
service mysqld start
service mysqld stop
service mysqld restart
service mysqld status
systemctl start mysqld
service mysqld stop
service mysqld restart
systemctl status mysqld
設定 MySQL 的字符集為 UTF-8:
開啟 /etc 目錄下的 my.cnf 檔案(此檔案是 MySQL 的主配置檔案):
vim /etc/my.cnf
在 [mysqld] 前新增如下程式碼:
[client]
default-character-set=utf8
在 [mysqld] 後新增如下程式碼:
character_set_server=utf8
再登入mysql,看看字符集,6個utf8就算OK
show variables like '%character%';
檢視指定的資料庫中指定資料表的字符集,如檢視 mysql 資料庫中 servers 表的字符集:
show table status from mysql like '%servers%';
檢視指定資料庫中指定表的全部列的字符集,如檢視 mysql 資料庫中 servers 表的全部的列的字符集:
show full columns from servers;
忘記密碼時,可用如下方法重置:
service mysqld stop
mysqld_safe --user=root --skip-grant-tables --skip-networking &
mysql -u root
進入MySQL後
use mysql;
update user set password=password("new_password") where user="root";
flush privileges;
一些檔案的存放目錄
配置檔案
vim /etc/my.cnf
存放資料庫檔案的目錄
cd /var/lib/mysql
日誌記錄檔案
vim /var/log/ mysqld.log
服務啟動指令碼
/usr/lib/systemd/system/mysqld.service
socket檔案
/var/run/mysqld/mysqld.pid