您现在的位置是:网站首页>数据库
如何在CentOS 上安装mysql
【数据库】阿文2022年5月28日2012浏览
简介首先明确一下我自己的服务器版本是Centos7.6的版本,在此版本上安装Mysql5.7.38第一步,查……
首先明确一下我自己的服务器版本是Centos 7.6的版本,在此版本上安装Mysql 5.7.38
第一步,查看是否安装
rpm -qa| grep mysql-server
没有的话我们就开始安装,点击这里,去官网下载页面,按照图示选择合适的版本:
第二步,下载Mysql安装包
第一种:在Centos中直接下载,进入/usr/local/soft/目录,在里面执行wget 下载链接命令(首先先确认服务器安装了wget);
第二种:先下载到windows然后通过xftp上传到CentOS的该目录下,然后使用tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz命令进行解压;
第三步,解压安装包
进入mysql安装包解压文件目录,使用命令mv mysql-5.7.38-linux-glibc2.12-x86_64 mysql命令修改一下文件的名称为mysql
第四步,创建系统用户用来管理mysql
创建mysql用户组和用户并修改权限,使用的命令如下:
groupadd mysql
useradd -r -g mysql mysql
接着创建数据目录并赋予权限,使用的命令如下(注意必须使用mysql用户,不能使用root用户,否则会由于文件从属关系导致mysql启动失败):
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
第五步,修改mysql配置文件
使用命令vi /etc/my.cnf修改配置文件,往其中新增以下代码:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/soft/mysql # mysql安装目录
datadir=/data/mysql # 数据存放目录
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
第六步,初始化数据库
进入mysql的bin目录,我这里是/usr/local/soft/mysql/bin路径,然后在里面执行下面一行代码(注意里面两个路径必须与你在my.cnf配置文件中设置的一致,否则会报错):
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/soft/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
执行完可以看到会出现一个临时密码(复制一下,后面进入数据库需要使用到)
如果此时没有看到临时密码,可以去mysql的日志log中搜索得到,命令如下
grep 'temporary password' /var/log/mysqld.log
得到以下结果后,其中 Qd0C9iersB+X 就是临时密码
A temporary password is generated for root@localhost: Qd0C9iersB+X
第七步,启动mysql服务
注意先将mysql.server放置到/etc/init.d/mysql中,可以让dameon来管理Mysql的启动(即也就是service,CentOS7就是syetemctl),可以使用下面的命令复制一份过去,且将mysql.server修改为mysql,这样便于记忆启动命令:
cp /usr/local/soft/mysql/support-files/mysql.server /etc/init.d/mysql
完成复制后就使用命令service mysql start启动mysql,注意如果在此过程中出现下面的错误:
Starting MySQL...The server quit without updating PID file [FAILED]ysql/iZuf67on1pthsx5glu6ohyZ.pid).
请点击 这里,或者查看日志文件/data/mysql/mysql.err。然后使用命令ps -ef|grep mysql查看一下mysql是否真的已经启动了。
第八步,修改数据库密码
进入到mysql安装目录的bin目录下面,我的路径是/usr/local/soft/mysql/bin,然后使用前面随机生成的密码来进入数据库,使用的命令如下:
./mysql -uroot -p临时密码
在数据库中接着执行以下三行代码:
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
这样数据库密码就修改成功了。但是此时你如果远程连接数据库,你会发现无法联通,这是正常现象,因为你还没有开放访问IP端口。
第九步,开发访问IP端口
先进入到数据库,接着执行以下三行代码,这样就开放了数据库访问IP端口。
use mysql; #访问mysql库
update user set host = '%' where user = 'root'; #使root用户能在任何IP进行访问
FLUSH PRIVILEGES;
第十步,创建软连接
鉴于目前进入mysql都是需要进入到mysql安装的bin目录下,这是非常麻烦的,因此可以使用软连接ln -s /usr/local/soft/mysql/bin/mysql /usr/bin(注意语句结尾没有分号),这样以后就可以直接使用mysql -uroot -p密码快捷命令了。
最后祝你好运,一次成功哈。
上一篇: 记一次MySql多表关联修改问题
下一篇: CentOS 上完全卸载mysql
评论文明上网,理性发言0条评论