centos7 安裝 mysql5.7 LTS
參考:
https://blog.csdn.net/EB_NUM/article/details/105425622
可以在運行安裝程序之前導入密鑰:
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
第一步、下載MySQL 安裝包:
sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
第二步 安裝mysql 安裝源:
sudo yum -y localinstall mysql57-community-release-el7-11.noarch.rpm
第三步,在線安裝MySQL
sudo yum -y install mysql-community-server
第四步、啟動mysql 服務
sudo systemctl start mysqld
第五步,設置開機啟動
sudo systemctl enable mysqld
sudo systemctl daemon-reload
查看mysql 版本
mysql --version
首先登錄 密碼問題
修改密碼
修改密碼(可以根據自己興趣愛好來設置)
執行下面的命令:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘你的密碼’;
默認的配置文件
my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# 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.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
數據庫 initialize (先不用這個,先把它給忽略了)
之前初始化mysql數據庫命令 mysql_install_db 從MySQL 5.7.6 開始廢棄,使用 mysqld 初始化數據庫
# which mysqld# mysqld --verbose --help-I, --initialize Create the default database and exit. Create a super userwith a random expired password and store it into the log.--initialize-insecure Create the default database and exit. Create a super userwith empty password.
–initialize 會在日志里打印出一個隨機密碼。
–initialize-insecure 不會產生隨機密碼,第一次登陸數據庫使用空密碼。
111
mysqld --initialize-insecure
在剛才的黑框中敲入mysqld --initialize-insecure,回車,稍微等待一會,
如果出現沒有出現報錯信息(如下圖)則證明data目錄初始化沒有問題,
此時再查看MySQL目錄下已經有data目錄生成。
mysql -u root -p
1234aA~1
mysql -u用戶名 -p密碼 -h要連接的mysql服務器的ip地址(默認127.0.0.1) -P端口號(默認3306)
在mysql5.7以上,mysql默認會產生隨機密碼,如果想達到5.6以下的第一次免登錄密碼,需要在 mysqld 加–initialize-insecure參數
修改密碼
5.7之前的版本默認是沒有密碼的,只需在服務器上直接登錄,甚至用戶名都不用指定,
但除本機外網絡是登不上的,5.7版本的話安裝完后會生成 一個隨機密碼,
密碼記錄在log日志里,日志文件在/var/log/下,
由于MySQL從5.7開始不允許首次安裝后,使用空密碼進行登錄,
系統會隨機生成一個密碼以供管理員首次登錄使用,
所以本文教大家如何使用初始密碼登錄并修改初始密碼
yum安裝的mysql服務,密碼記錄在/var/log/mysqld.log文件中,使用下面的命令可以查看此密碼:(其他安裝方式請自己找到對應的mysqld.log位置)
cat /var/log/mysqld.log|grep 'A temporary password'
sudo grep ‘temporary password’ /var/log/mysqld.log
mysql -uroot -p
alter user 'root'@'localhost' identified by 'rootroot';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements-- 應用配置--將內存中的配置寫入磁盤
flush privileges;
設置成下面這個樣子
alter user 'root'@'localhost' identified by '1234aA~1';
這個其實與validate_password_policy的值有關。
validate_password_policy有以下取值:
默認是1,即MEDIUM,所以剛開始設置的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字符。
注意:這個密碼是強類型密碼,要求密碼包含大小寫字母、數字及標點符號,長度應該在6位以上,不然就會失敗。
修改密碼策略
有時候,只是為了自己測試,不想密碼設置得那么復雜,譬如說,我只想設置root的密碼為123456。
必須修改兩個全局參數:
首先,修改validate_password_policy參數的值
mysql> set global validate_password_policy=0;Query OK,0 rows affected (0.00 sec)
validate_password_length(密碼長度)參數默認為8,我們修改為1
mysql> set global validate_password_length=1;Query OK,0 rows affected (0.00 sec)
完成之后再次執行修改密碼語句即可成功:
mysql> alter user 'root'@'localhost' identified by '123456';Query OK,0 rows affected (0.00 sec)
授權遠程訪問:
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
常用命令
查詢所有的數據庫
SHOW DATABASES;
創建數據庫:
CREATE DATABASE 數據庫名稱;
創建數據庫(判斷,如果不存在則創建)
CREATE DATABASE IF NOT EXISTS 數據庫名稱;
刪除數據庫
DROP DATABASE 數據庫名稱;
刪除數據庫(判斷,如果存在則刪除)
DROP DATABASE IF EXISTS 數據庫名稱;
使用數據庫
USE 數據庫名稱;
查看當前使用的數據庫
SELECT DATABASE();
查詢當前數據庫下所有表名稱
SHOW TABLES;
查詢表結構
DESC 表名稱;
刪除表
DROP TABLE 表名;
刪除表時判斷表是否存在
DROP TABLE IF EXISTS 表名;
修改表名字
ALTER TABLE 表名 RENAME TO 新的表名;
– 將表名student修改為stu
alter table student rename to stu;
修改配置文件 /etc/my.cnf
如果修改了datadir,socket 可能也得修改
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
1 重啟系統之后登錄
查看服務是否正常運行
service mysqld status
mysql -u root -p
1234aA~1
2
啟用防火墻systemctl start firewalld
查看防火墻狀態systemctl status firewalld
停止防火墻systemctl stop firewalld
啟用防火墻systemctl start firewalld
查看防火墻狀態systemctl status firewalld
停止防火墻systemctl stop firewalld
禁用防火墻systemctl disable firewalld
啟用防火墻systemctl enable firewalld
3
允許遠程連接
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234aA~1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
用命令是什么?
1234aA~1
遠程連接
mysql -h 192.168.99.69 -P 3306 -u root -p
查看 mysql 時區
show variables like '%time_zone%';