linux下配置mysql 与错误解决

时间:2023-03-08 15:36:55
linux下配置mysql 与错误解决

1.下载mysql

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-el7-x86_64.tar.gz

2.检查linux是否安装mariadb数据库,mariadb数据库是mysql的分支

yum list installed | grep mariadb

如果linux中安装mariadb数据库,可能与安装mysql数据库发生冲突

yum -y remove mariadb   (mariadb是前面检测出来的软件包)

3.解压

cd 压缩包的位置

tar -zxvf mysql.*.*.*.2.1.tar.gz -C /usr/local  (指定解压位置)

4.在/etc文件夹下创建my.cnf文件

[mysqld]

user=mysql

log-error=/var/log/mysql/mysqld.log //错误日志的路径

basedir=/usr/local/mysql-5.7.22 //mysql的安装路径

datadir=/usr/local/mysql-5.7.22/data //数据路径

pid-file=/usr/local/mysql-5.7.22/data/mysqld_pid

5.复制启动脚本文件mysql.server到/etc/init.d/mysqld

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

6.更改/etc/init.d/mysqld中的内容为自己安装的mysql的位置

vim /etc/init.d/mysqld

basedir=/usr/local/mysql-5.7.22 //mysql的安装路径

datadir=/usr/local/mysql-5.7.22/data //数据路径

7.将解压得到的文件夹重命名

cd 解压后的文件夹位置(mysql+版本号(假设为mysql.1.2))

mv mysql.*.*.*.2.1 mysql.2.1

8.在mysql.1.2下创建一个文件夹data

cd mysql.2.1

mkdir data

9.添加用户(在mysql.2.1目录下)

useradd mysql

10.切换到mysql.2.1/bin目录下执行

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql.2.1/data --basedir=/usr/local/mysql.2.1

注意:会得到一个初始化密码一定要记住,要不然连不上数据库

11.切换到mysql.2.1/bin目录下执行

./mysql_ssl_rsa_setup  --datadir=/usr/local/mysql.2.1/data

12.更改mysql.2.1整个文件夹的权限

chown -R mysql: mysql /usr/local/mysql.2.1

13.启动mysql服务

./mysqld_safe &  (&表示后台启动)

14.切换到mysql.2.1/bin目录下执行登陆

./mysql -uroot -p

输入第七步生成的临时密码

15.执行sql语句show database,会出现错误,提示修改密码

alter user 'root'@'localhost' identified by '123456'

16.授权远程访问

grant all privileges on *.* to root@'%' identified by '123456'

第一个*号表示所有数据库名

第二个*号表示所有数据库表

root@'%':root 表示用户名  %表示ip地址,比如root@localhost,root@192.168.129.189

17.执行刷新权限命令

flush privileges

错误

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

yum install  libaio.so.1