參考文檔:https://xie.infoq.cn/article/5da9bfdfbdaabf7b0b982ab6e
https://blog.csdn.net/Lance_welcome/article/details/107314575
一、下載mysql 5.7+
# 下載mysql5.7.42版本
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz
# 解壓到/usr/local/soft/mysql目錄下
tar -zxvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz
# 將解壓所得文件夾移動到/usr/local目錄下,并重命名文件夾為mysql
sudo mv mysql-5.7.42-linux-glibc2.12-x86_64 /usr/local/mysql
# 修改mysql文件夾的所有者和權(quán)限
sudo chown -R mysql:mysql /user/local/mysql
# 如果出現(xiàn) chown: invalid user: ‘mysql:mysql’ 錯誤,說明mysql用戶不存在,執(zhí)行以下命令,操作完再執(zhí)行更改權(quán)限命令
groupadd mysql
useradd -r -g mysql mysql
# 設(shè)置文件夾權(quán)限
sudo chown -R 755 /usr/local/mysql
二、配置mysql5.7
#1、把 mysql/bin 目錄下的所有命令創(chuàng)建一個“快捷方式”,#把這個寫到配置文件里,路徑不同,記得要修改路徑
#方式一:
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# 方式二:也可以使用編輯/etc/profile的方式,
vi /etc/profile
# 結(jié)尾增加配置
export PATH=$PATH:/usr/local/mysql/bin
# 生效配置文件
source /etc/profile
# 生效之后,我們可以打出 mysql,按 tab 補(bǔ)全鍵兩下,就可以看到所有的 mysql/bin 下的都能出來,這樣設(shè)置是相當(dāng)于 windows 的快捷鍵,以便我們更好的利用
mysql mysqld mysqlimport mysql_ssl_rsa_setup
mysqladmin mysqld-debug mysql_install_db mysqltest_embedded
mysqlbinlog mysqld_multi mysql_plugin mysql_tzinfo_to_sql
mysqlcheck mysqld_safe mysqlpump mysql_upgrade
mysql_client_test_embedded mysqldump mysql_secure_installation mysqlxtest
mysql_config mysqldumpslow mysqlshow
mysql_config_editor mysql_embedded mysqlslap
#2、生成mysql的臨時密碼,
# 切換到mysql目錄下
cd /usr/local/mysql/
#執(zhí)行命令。生成臨時數(shù)據(jù)庫密碼,需要自行記住root賬號的密碼,方便登錄(還是注意路徑看看是不是和你的一樣),若data文件已經(jīng)存在,刪除掉再執(zhí)行即可
mysqld --user=mysql --initialize --datadir=/usr/local/mysql/data
# 2.1 若執(zhí)行命令報錯:“error while loading shared libraries :libaio.so.1:cannot open shared object file:No such file or directory”,說明缺失包,安裝包即可
yum install libaio*
#安裝完成再次執(zhí)行就好了
mysqld --user=mysql --initialize --datadir=/usr/local/mysql/data
# 3、復(fù)制啟動文件到/etc/init.d/目錄,只需改動自己的路徑即可
cp -ar /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 4、添加my.cnf配置文件,
cat /etc/my.cnf
# 若報cat: my.cnf: No such file or directory,則新增建my.cnf文件即可
cd /etc/
touch my.cnf
# 編輯my.cnf
vi my.cnf
# 內(nèi)容(增加內(nèi)容后保存退出即可):
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#設(shè)置3306端口
port=3306
# 設(shè)置mysql的安裝目錄
basedir=/usr/local/mysql
# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir=/usr/local/mysql/data
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
# 內(nèi)容結(jié)束。。
# 5、給my.cnf配置執(zhí)行權(quán)限
chmod -R 775 /etc/my.cnf
三、啟動mysql服務(wù)&&設(shè)置開機(jī)自啟
1、啟動前線看有沒有啟動過
ps -ef|grep -v grep |grep mysql
ps -ef|grep -v grep |grep mysqld
2、沒有進(jìn)程,開始啟動
#啟動mysql服務(wù)命令:
/etc/init.d/mysqld start
#啟動成功后打印的內(nèi)容:
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
SUCCESS!
3、設(shè)置開機(jī)自啟
#添加服務(wù)
chkconfig --add mysqld
#顯示服務(wù)列表
chkconfig --list
4、修改root默認(rèn)密碼,輸入剛剛記下的密碼,進(jìn)入到mysql
mysql -uroot -p
5、修改密碼
#修改密碼為123456
set password for root@localhost = password('123456');
6、修改密碼后,退出(快捷鍵:ctrl+d)重新登錄下:
mysql -uroot -p123456
四、開放遠(yuǎn)程登錄&& 測試本地客戶端連接
# 1、登錄mysql數(shù)據(jù)庫
mysql -uroot -p123456
# 2、切換到mysql數(shù)據(jù)庫
use mysql;
# 3、修改用戶權(quán)限
update user set user.Host='%' where user.User='root';
# 4、刷新權(quán)限
flush privileges;
遠(yuǎn)程連接不上,關(guān)閉防火墻,或者開放端口
關(guān)閉防火墻
# 關(guān)閉防火墻
# 查看狀態(tài),若是啟動的
systemctl status firewalld.service
# 關(guān)閉防火墻
systemctl stop firewalld.service
# 永久關(guān)閉防火墻
systemctl disable firewalld.service
# 開啟防火墻
systemctl start firewalld.service
開放端口
# 常見開啟
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
# 常見關(guān)閉
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --zone=public --remove-port=21/tcp --permanent
firewall-cmd --zone=public --remove-port=53/udp --permanent
# 批量添加
firewall-cmd --zone=public --add-port=4400-4600/udp --permanent
firewall-cmd --zone=public --add-port=4400-4600/tcp --permanent
# 查看端口
firewall-cmd --permanent --list-port
#查看狀態(tài)
systemctl status firewalld或者 firewall-cmd --state
# 重新加載配置文件
firewall-cmd --reload
開放遠(yuǎn)程登錄這時候我們就可以用 navicat、sqlyog 等鏈接工具來連接數(shù)據(jù)庫了,端口 3306;自己可以測試一下,如果是直接在 linux 中用就不用測試了。
五、mysql創(chuàng)建新用戶
1、創(chuàng)建用戶文章來源:http://www.zghlxwxcb.cn/news/detail-635523.html
# 創(chuàng)建用戶,test:用戶名 123456:密碼,10.200.100.130:指定ip可訪問,若要其它可訪問,則設(shè)置為%
CREATE USER 'test'@'10.200.100.130' IDENTIFIED BY '123456';
# 賦予服務(wù)器權(quán)限(這里是所有的權(quán)限)
GRANT GRANT OPTION ON *.* TO 'test'@'10.200.100.130';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'test'@'10.200.100.130';
2、賦予指定數(shù)據(jù)庫權(quán)限文章來源地址http://www.zghlxwxcb.cn/news/detail-635523.html
GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `ec`.* TO 'test'@'10.200.100.130';
# ec:數(shù)據(jù)庫名稱
GRANT GRANT OPTION ON `ec`.* TO 'test'@'10.200.100.130';
到了這里,關(guān)于Centos7下載安裝mysql的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!