MySQL【环境搭建 01】Linux root 用户部署 mysql-5.7.28 及 not allowed to connect to this MySQL server 和中文乱码问题处理
云盤資源:mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
鏈接:https://pan.baidu.com/s/1DmavSo3kCKOPZtmd-FE8mw
提取碼:0v5l
說明:
一下安裝過程是針對 mysql-5.7.28-linux-glibc2.12-x86_64 版本的,不同版本的安裝會有差異。
1.查看是否有安裝mariadb(如果有就卸載掉,否則可能出現沖突)
yum list installed | grep mariadb2.上傳解壓文件
tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql3.創建數據目錄
mkdir -p /data/mysql/data4.添加mysql用戶及用戶組【MySQL不能以root用戶使用】
groupadd mysql useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql5.更改所屬的組和用戶
cd /usr/local/mysql chown -R mysql . chgrp -R mysql . chown -R mysql /data/mysql6.安裝初始化
初始化后會有默認密碼,一定要復制下來。
A temporary password is generated for root@localhost: +oUisNmwk6:e
7.修改 mysql 配置文件
vi /usr/local/mysql/support-files/mysql.server basedir=/usr/local/mysql datadir=/data/mysql/data cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld8.修改 my.cnf 文件
lower_case_table_names=1 表名稱忽略大小寫,Windows系統性默認是1,Linux系統下默認是0,如果不配置此項,在 Windows環境下正常的查詢有可能會報錯。
vi /etc/my.cnf[mysqld] character-set-server=utf8 port = 3306 basedir=/usr/local/mysql datadir=/data/mysql/data max_connections=200 default-storage-engine=INNODB lower_case_table_names=1 max_allowed_packet=64M sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION [client] default-character-set=utf8 [mysql] default-character-set=utf8【中文亂碼問題】
my.cnf 需要添加一下設置,character-set-server=utf8 的設置要放在最上邊,否則 character-set-server 配置無效。
[mysqld] character-set-server=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8【經驗教訓分享】
表名稱忽略大小寫 lower_case_table_names=1 這個設置在Windows環境下默認就是1,而在Linux環境下默認卻是0,有一次部署好MySQL之后,項目運行異常,報的是表不存在,原因是SQL語句里的表名稱有大寫的【你說要不要淚奔,寫代碼太不規范了】。
解決: 我查看MySQL的配置是有lower_case_table_names=1的,為什么沒有起效呢?原因在于 my.cnf 創建的時候在 root 用戶下,把配置文件改到 MySQL用戶下就可以解決失效問題了。
9.啟動并登錄mysql
使用臨時密碼進行登錄。
/etc/init.d/mysqld start /usr/local/mysql/bin/mysql -u root -p'+oUisNmwk6:e'10.修改root用戶密碼
set password=password('aliyun@2021'); -- 解決Navicat無法連接的問題 grant all privileges on *.* to root@'%' identified by 'aliyun@2021'; flush privileges; quit;11.將 MySQL 加入 Service 系統服務
# 配置環境變量vi /etc/profile export MYSQL_HOME="/usr/local/mysql" export PATH="$PATH:$MYSQL_HOME/bin" . /etc/profilechkconfig --add mysqld chkconfig mysqld on service mysqld restart service mysqld status # 查看端口號 netstat -lntup|grep 3306# mysql后臺啟動 bin/mysqld_safe --defaults-file=/etc/my.cnf --user=root &總結
以上是生活随笔為你收集整理的MySQL【环境搭建 01】Linux root 用户部署 mysql-5.7.28 及 not allowed to connect to this MySQL server 和中文乱码问题处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小微商 获取平台证书 报错
- 下一篇: 【Windows部署】Telegraf