我以前介绍过在Windows上安装MySQL8的教程,那么在Linux上该怎么安装呢? 本文以CentOS 7为例,介绍如何在Linux上安装MySQL-8.0.18
文章目录
下载MySQL
下载后解压缩
编辑MySQL配置
初始化MySQL
启动MySQL
更改root用户密码
连接测试
可能面临的问题
1、下载MySQL
官网: https://dev.MySQL.com/downloads/MySQL /
选择以下redhatenterpriselinux/oraclelinuxredhatenterpriselinux7/Oracle Linux7(x 8664位)版本:
从下面的列表中选择mysql-8.0.18-el7-x86_64.tar
2、下载解压
解压缩后的文件如下
留下mysql-8.0.18-el7-x86_64.tar.gz进行解压缩
tar-zxvf MySQL-8.0.18-el7-x86 _ 64.tar.gz
因为您计划在/usr/local目录中安装MySQL,所以解压缩后,请将目录重命名为MySQL,然后导航到/usr/local/目录
mvmysql-8.0.18-el7-x86 _ 64/usr/local/MySQL
看看/usr/local目录中的文件
cd /usr/local
您可以看到mysql目录已移动到/usr/local下
您创建了新的mysql用户,并将mysql目录的所有者更改为mysql用户,如上图所示
useradd mysql
chown -R mysql:mysql mysql/
3、编辑MySQL配置
进入mysql目录下,创建data、logs和config目录
data :数据目录
logs :日志目录
配置:配置文件
cd mysql
Mkdir数据
Mkdir日志
mkdir config
在config目录下创建了一个新的my.cnf配置文件,并使用该配置文件作为MySQL的配置文件,以防止与计算机上其他用户安装的MySQL冲突
touch my.cnf
或者
vi my.cnf
将以下配置写入my.cnf
[mysql]
设置mysql客户端的默认字符集
默认角色集=utf8 MB 4
[mysqld]
skip-name-resolve
efault _ authentic ation _ plugin=MySQL _ native _ password
3355端口设置
端口=3335
设置mysql安装目录
basedir=/usr/local/mysql
设置用于存储mysql数据库数据的目录
datadir=/usr/local/mysql/data
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8位代码的latin1字符集
character-set-server=UTF8MB4
#创建新表时使用的默认存储引擎
log _ error=/usr/local/MySQL/logs/MySQL.log
PID-file=/usr/local/MySQL/logs/MySQL.PID
默认存储引擎=innodb
lower_case_table_names=1
max_allowed_packet=16M
group_concat_max_len=102400
[客户端]
端口=3335
4、初始化MySQL
编辑配置文件后,下一步初始化MySQL并导航到jldfj目录,然后运行初始化命令
cd jldfj
./mysqld-- defaults-file=/usr/local/MySQL/config/my.cn f-- initialize-- user=MySQL---basedir=/usque
参数说明
defaults-file=/usr/local/MySQL/config/my.cn f指定配置式- -始终位于初始化之前
user=指定MySQL的用户(重要)
basedir=/usr/local/MySQL /指定的安装目录
datadir=/usr/local/MySQL/data /指定的数据目录
完成上述步骤后,根据internet上的其他教程,此时应该会生成临时密码,但情况并非如此。 这个时候请不要慌张。 既然指定了log_error的目录,请查看文件/usr/local/MySQL/logs/MySQL.log
cd ./logs
cat mysql.log
果然找到了临时密码。 我会把那个记下来。 稍后再用
5、启动MySQL
让我们再次返回到jldfj目录并启动MySQL
cd ./jldfj
./mysqld _ safe-- defaults-file=/usr/local/MySQL/config/my.cn f
现在,您可以看到在logs目录中生成了mysql.pid。 这表明MySQL成功启动了执行命令
cat mysql.pid
816是MySQL的过程。 我们也试试ps吧
ps -ef|grep mysql
综上所述,MySQL已成功启动
6、更改根用户的密码
返回jldfj目录登录MySQL,更改root用户的密码吧。
cd ./jldfj
./mysql -u root -p
这是刚才填写的临时密码,输入后会显示登录成功
通过运行以下命令更改根用户密码
alter user ' root ' @ ' localhost ' identified by '新密码';
更改根用户的远程登录
update MySQL.userset host=' % ' where user=' root ';
记得最后更新权限
flush权限;
7、连接测试
现在,使用navicat进行连接测试
此MySQL已成功安装。
8、可能遇到的问题
(1)初始化错误
errorwhileloadingsharedlibraries 3360 libaio.so.1: cannotopensharedobjectfile 3360 nosuchfileordirectory
解决方案
yum install -y libaio
)2)报告无权等错误
没有chown -R mysql:mysql权限的目录
或者
没有chmod -R 777权限的目录
)3)启动错误
starting MySQL.theserverquitwithoutupdatingpidfile (/[故障] MySQL/XXX.PID )。
解决方案正在尝试用msqld_safe启动
./mysqld _ safe---defaults-file=/usr/local/MySQL/config/my.cn f