介绍 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
安装 下载地址:https://dev.mysql.com/downloads/mysql/
安装步骤:
下载解压,进入到目录中
创建数据目录,配置目录,日志目录和配置文件,修改配置文件
初始化数据库和启动数据库
配置开机自启动
常见错误
下载解压,改名 1 2 3 4 5 6 7 8 9 10 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27-el7-x86_64.tar tar xf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /data/cd /data mv mysql-5.7.24-linux-glibc2.12-x86_64/ mysql-5.7.24cd mysql-5.7.24/ mkdir data logs
创建需要的目录和文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [client] port = 3306 default-character-set=utf8 [mysqld] basedir = /data/mysql-5.7.24 datadir = /data/mysql-5.7.24/data log-error=/data/mysql-5.7.24/logs/error.log port = 3306 character-set-server=utf8 default_storage_engine = InnoDB binlog-format=Row log-bin=/data/mysql-5.7.24/logs/binlog/binlog server-id=1 slow_query_log=ON slow_query_log_file=/data/mysql-5.7.24/logs/mysql-slow.log long_query_time=1 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
授权
1 2 useradd -r -s /sbin/nologin mysql chown -R mysql:mysql /data/mysql-5.7.24
初始化数据库和启动 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cd /data/mysql-5.7.24/bin/ ./mysqld --user=mysql --basedir=/data/mysql-5.7.24 --datadir=/data/mysql-5.7.24/data --initialize cp ../support-files/mysql.server /etc/init.d/mysqld vim /etc/init.d/mysqld basedir=/data/mysql-5.7.24 datadir=/data/mysql-5.7.24/data service mysqld start
配置开机自启动 1 2 chkconfig mysqld on chkconfig --list mysqld
设置密码,远程登录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 cat /data/mysql-5.7.24/logs/error.log |grep root@localhost ./mysql -u root -p mysql> set password=password("123123" ); mysql> grant all privileges on *.* to 'root' @'%' identified by '123123' ; mysql> flush privileges; ./mysql -u root -p -P3306 -h192.168.1.23
重新设置root密码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 service mysql stop mysqld --skip-grant-tables mysql> use mysql mysql> update user set password=password("12345" ) where user="root" ; mysql> flush privileges; mysql> exit service mysql restart mysql -uroot -p12345 -h 127.0.0.1 mysql> SET PASSWORD = PASSWORD('12345' );
备份和恢复 备份
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 mysqldump --opt -d 数据库名称 -u用户名 -p密码 > 保存文件路径 mysqldump -t 数据库名称 -u用户名 -p密码 > 保存文件路径 mysqldump 数据库名称 -u用户名 -p密码 > 保存文件路径 mysqldump -uroot -p123123 --database xxl_job | gzip > ./xxl_job.sql.gz mysqldump -u用户名 -p密码 -B 数据库名称 --table 表名 > 保存文件路径 mysqldump -t 数据库名称 -u用户名 -p密码 --table 表名 > 保存文件路径
恢复
1 2 mysql -u用户名 -p密码 数据库名称 < 用于恢复数据库的数据文件路径
常见错误 安装mysql报错
1 2 3 4 5 6 bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory yum -y install libaio
启动mysql报错
1 2 3 4 5 6 7 8 9 10 11 12 13 14 line 647: /var/log /mariadb/mariadb.log: No such file or directory 2018-04-06T16:59:36.091735Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log' , however file don't exists. Create writable for user ' 2iuser'. bin/mysqld_safe: line 144: /var/log/mariadb/mariadb.log: No such file or directory #当前系统中安装了mariadb,mariadb的配置文件路径/etc/my.cnf,mysql根据配置文件无法找到相关的文件,所以报错。 #查找mariadb,删除mariadb。 rpm -qa | grep mariadb rpm -e mariadb-libs-5.5.56-2.el7.x86_64 #在启动命令中加上--defaults-file参数指定配置文件 bin/mysqld_safe \ --defaults-file=/data/mysql/conf/my.cnf \ --user=mysql &
登陆mysql报错
1 2 3 4 5 6 7 8 9 Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket ' /tmp/mysql.sock' (2) #其中一种解决方法是在命令行里指定sock文件即可登陆,由于本机已安装mysql数据库,sock文件在/tmp/mysql.sock已存在,所以建议这种方式登录,后续再想办法优化。 ./mysql -u root -p -S /data/mysql/conf/mysql.sock #由于mysql是在路径/tmp/mysql.sock寻找sock文件,我们配置文件里指定的路径是/data/mysql/conf/mysql.sock,所以加上软连接即可。 ln -s /data/mysql/conf/mysql.sock /tmp/mysql.sock