安装准备:
Linux系统(CentOS)添加防火墙、iptables的安装和配置
请访问地址:https://blog.csdn.net/esqabc/article/details/140209894
1,下载mysql安装文件(mysql-5.7.44为例)
选择Linux通用版本64位(Linux - Generic)
即下载列表第二个选项(Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive)
执行命令:
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
或者自行选择其他版本:
浏览器查看地址:https://downloads.mysql.com/archives/community
2,把下载好的MySql数据库安装文件拷贝到任意目录(我的安装目录: /usr/local/)
执行命令:cp mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz /usr/local/
3,编辑配置文件:my.cnf
(我的安装目录: /usr/local/,数据库文件目录为:/usr/data/)
执行命令:vim /etc/my.cnf
把以下的内容拷贝进去,如my.cnf文件里有重复,请注释掉,优先使用以下的:
#数据库安装文件目录
basedir = /usr/local/mysql
#数据库数据目录
datadir = /usr/data/mysql
socket = /tmp/mysql.sock
#数据库日志目录
log-error = /usr/data/mysql/error.log
pid-file = /usr/data/mysql/mysql.pid
user = mysql
tmpdir =/tmp
lower_case_table_names=1
4,创建数据库日志保存地址
进入目录:cd /var/log/
创建文件夹(mariadb):mkdir mariadb
进入目录:cd /var/log/mariadb/
创建文件(mariadb.log):touch mariadb.log
5,创建数据库-数据存放目录
(我的安装目录: /usr/local/,数据库文件目录为:/usr/data/)
进入目录:cd /usr
创建文件夹(data):mkdir data
进入目录(data):cd /usr/data/
创建文件夹(mysql):mkdir mysql
6,解压mysql
进入目录:cd /usr/local
解压安装包:tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
重命名:mv /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql
7,添加系统mysql组和mysql用户:
执行命令:groupadd mysql
执行命令:useradd -r -g mysql mysql
8,修改当前目录拥有者为mysql用户:
执行命令:cd /usr/local/mysql
执行命令:chown -R mysql:mysql ./
9,安装Mysql数据库
a,方法一(推荐):
执行命令:
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/data/mysql --pid-file=/usr/data/mysql/mysql.pid --tmpdir=/tmp
b,方式二:
执行命令:
./scripts/mysql_install_db --user=mysql
如果安装过程中出现错误,请滚到网页最后面查看解决方法
10,修改当前目录拥有者为root用户
进入目录:cd /usr/local/mysql
执行命令:chown -R root:root ./
11,修改当前data目录拥有者为mysql用户
进入目录:cd /usr/local/mysql
执行命令:chown -R mysql:mysql /usr/data
12,启动mysql服务、添加开机启动mysql服务,添加开机自动启动
执行命令:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
赋予可执行权限:chmod +x /etc/init.d/mysql
添加mysql服务:chkconfig --add mysql
显示当前服务列表查是否添加成功:
执行命令:chkconfig --list
看到以下信息就说明添加成功了:
13,启动mysql服务:
执行命令:service mysql start
如果出现问题,请滚网页到最后面查看解决方法
14,其它的一些命令
a,启动数据库命令(两种):
执行命令:service mysql start
执行命令:mysql service mysqld start
b,关闭数据库命令(两种):
执行命令:service mysql stop
执行命令:mysql service mysqld stop
c,查看数据库状态命令:
查看版本-执行命令:mysql --version
查看进程-执行命令:ps aux | grep mysql
15,登录数据库
执行命令:mysql -uroot -p
如果出现:-bash: mysql: command not found ,请滚网页到最后面查看解决方法
16,修改root密码(如密码为:123456),登录数据库后,SQL注意后面的;符号
执行修改SQL:
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
执行生效SQL:
flush privileges;
16,给root账户开启远程登录(如密码为:123456),登录数据库后,SQL注意后面的;符号
执行SQL:
grant all privileges on *.* to 'root'@'%'identified by '123456' with grant option;
执行生效SQL:
flush privileges;
安装问题总结和解决方法
1,出现:
-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter:
—就说明没有那个文件或目录
解决方法,执行命令:
yum -y install perl perl-devel
========================================================================
2,出现:
Installing MySQL system tables…./bin/mysqld: error while loading
shared libraries: libaio.so.1: cannot open shared object file: No such
file or directory
解决方法,(由于默认是32位,所以要安装64的的,执行下面的命令):
64位Linux系统:
yum -y install numactl.x86_64
32位Linux系统:
yum -y install libaio-devel
========================================================================
3,出现:
FATAL ERROR: please install the following Perl modules before
executing ./scripts/mysql_install_db: Data::Dumper
解决方法,执行命令:
yum -y install autoconf
========================================================================
4,出现:
FATAL ERROR: The parent directory for the data directory ‘/data/mysql’
does not exist. If that path was really intended, please create that
directory path and then
解决方法:请在跟目录新建文件夹:/data/mysql 执行命令:
cd ..
mkdir -p /data/mysql
========================================================================
5,出现:
Starting MySQL./usr/local/mysql/bin/mysqld_safe: line 183: 14957
Killed nohup /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql –
data dir=/data/mysql --plugin- dir=/usr/local/mysql/lib/plugin
–user=mysql --log-error=/var/log/mariadb/mariadb.log --pid-file=/data/mysql/mysql.pid – socket=/tmp/mysql.sock < /dev/null > /dev/null 2>&1 ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
解决方法:请在目录/usr/data/mysql 添加文件:mysql.pid 文件内容为空白
cd /usr/data/mysql
touch mysql.pid
========================================================================
6,出现:
/usr/local/mysql/bin/mysqld_safe: line 183: 16497 Killed nohup
/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
–datadir=/data/mysql – plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mariadb/mariadb.log --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock < /dev/null > /dev/null 2>&1
解决方法:请在mysql配置文件(vim /etc/my.cnf)加入以下配置:
key_buffer=16K
table_open_cache=4
query_cache_limit=256K
query_cache_size=4M
max_allowed_packet=1M
sort_buffer_size=64K
read_buffer_size=256K
thread_stack=64K
innodb_buffer_pool_size = 56M
========================================================================
7,出现:
执行命令(mysql -uroot -p) -bash: mysql: command not found
解决方法:执行命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin