Liunx服务器安装Mysql实操记录

  • 作者:彭老师
  • 日期:2020-06-02
  • 类型:Java
  • 说明:本文源于彭老师手写摘要,如需转载请带上链接或注明出处!

服务器、操作工具

  • 485配置:4核CPU,8G内存,5M带宽
  • 工具:Xshell_5.0.0.37、Xftp_5.0.1028

1、安装Mysql到/usr/local/mysql-5.7.24-linux-glibc2.12-x86_64目录

软件包已上传
移动后删除源文件

mv mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz /usr/local/

复制源文件到指定目录

cp mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz /usr/local/

进入/usr/local/目录

cd /usr/local/

3、用tar zxvf或者xvf进行解压安装包

tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
  • 附:很多服务器初始化是没有unzip命令

4、删除安装包

rm mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

强制删除,不需要确认

rm -rf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

5、创建mysql用户组和用户并修改权限

groupadd mysql
useradd -r -g mysql mysql

6、创建数据目录并赋予权限

mkdir -p  /data/mysql
chown mysql:mysql -R /data/mysql

7、配置my.cnf

vim /etc/my.cnf
  • 参考配置,可根据实际项目修改
    bind-address=0.0.0.0
    port=3306
    user=mysql
    basedir=/usr/local/mysql-5.7.24-linux-glibc2.12-x86_64
    datadir=/data/mysql
    socket=/tmp/mysql.sock
    log-error=/data/mysql/mysql.err
    pid-file=/data/mysql/mysql.pid
    lower_case_table_names=1
    #character config
    character_set_server=utf8mb4
    symbolic-links=0
    explicit_defaults_for_timestamp=true

8、初始化数据库,进入mysqlbin目录

cd /usr/local/mysql-5.7.24-linux-glibc2.12-x86_64/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.24-linux-glibc2.12-x86_64/ --datadir=/data/mysql/ --user=mysql --initialize
  • 如果出现报错:
    ./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

出现该问题首先检查该链接库文件有没有安装使用 命令进行核查

rpm -qa|grep libaio

运行该命令后发现系统中无该链接库文件

yum install  libaio-devel.x86_64
rpm -qa|grep libaio

如果完成上面错误后,需要重新初始化

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.24-linux-glibc2.12-x86_64/ --datadir=/data/mysql/ --user=mysql --initialize

如果提示初始化已存在,执行删除操作

rm -rf /data/mysql/*

9、将mysql.server放置到/etc/init.d/mysql

cp /usr/local/mysql-5.7.24-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql

10、启动mysql

service mysql start 
ps -ef|grep mysql
  • 可能会报错:
    Starting MySQL.2020-06-01T06:03:05.991103Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
    The server quit without updating PID file (/data/mysql/mysq[FAILED]
  • 发现并没有/var/log/mariadb/mariadb.log这个路径
    mkdir /var/log/mariadb
    touch /var/log/mariadb/mariadb.log
    chown -R mysql:mysql /var/log/mariadb/

11、修改密码,进入安装目录的bin

./mysql -u root -p

12、查看密码

cat /data/mysql/mysql.err

13、再执行下面三步操作,然后重新登录

SET PASSWORD = PASSWORD('abc123');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

14、登录数据库,接着三步操作

use mysql
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;

15、如果不希望每次都到bin目录下使用mysql命令则执行以下命令

ln -s /usr/local/mysql-5.7.24-linux-glibc2.12-x86_64/bin/mysql /usr/bin