一、Centos7下安装mysql-8.0.15
1、查看是否安装mariadb
执行命令:
rpm -qa | grep mariadb
显示:
mariadb-libs-5.5.56-2.el7.x86_64
2、卸载mariadb
执行命令:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3、安装mysql 依赖包
查看是否安装了依赖包:
rpm -qa|grep libaio
若无,则安装依赖包:
yum install libaio-devel.x86_64
4、创建mysql 安装包上传路径
#创建mysql安装目录
mkdir /usr/local/mysql
#创建mysql的数据存放目录
mkdir /usr/local/mysql/mysqldb
5、安装目录赋权限:
chmod -R 777 /usr/local/mysql/
chmod -R 777 /usr/local/mysql/mysqldb/
6、解压mysql压缩包,并将所有下面的文件夹都复制到mysql目录下
cp -rf /usr/soft/mysql-8.0.11-el7-x86_64/* /usr/local/mysql
7、创建MySQL 组:
#创建mysql 组
groupadd mysql
#创建MySQL用户但该用户不能登陆(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
useradd -r -g mysql -s /bin/false mysql
#把刚创建的mysql用户加入到mysql组下:
chown-R mysql:mysql ./
8、创建mysql 安装初始化配置文件
vi /etc/my.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数 max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
#下面这3个是减少mysql占用内存使用的
performance_schema_max_table_instances=400
table_definition_cache=400
table_open_cache=256
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
9、安装mysql
#进入mysql 安装目录下
cd/usr/local/mysql/bin/
#安装MySQL,并记住随机密码
./mysqld --initialize --console
10、启动MySQL服务:
#进入 /mysql/support-files
cd support-files/
#启动
./mysql.server start
备注:当执行./mysql.server start命令报以下错误时:
在mysql安装目录下重新授权后,再次自行启动MySQL命令:
chmod -R 777 /usr/local/mysql
./mysql.server start
11、mysql加入系统进程中:
cp mysql.server /etc/init.d/mysqld
重启MySQL服务:
service mysqld restart
12、修改随机登陆密码:
cd ../bin/
./mysql -u root –p
修改密码:
mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
13、设置允许远程登陆:
mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
重启mysql服务:
service mysqld restart
14、开启启动mysql server
(1)创建配置文件
touch /usr/lib/systemd/system/mysql.service
(2)配置
在systemctl配置文件中#号用来表示注释,这里最重要的一行是ExecStart它表示当systemctl去启动mysql时要执行的命令。在你的系统上只要换掉这一句就可以了。
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=root
Group=root
ExecStart=/home/admin/qdzq/mysql/mysql/bin/mysqld --user=root
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false
(3)通过systemctl来启动mysql:
systemctl start mysql
(4)通过systemctl 来设置mysql开机启动:
systemctl enable mysql
到这里,开机启动设置完毕!
15、开启防火墙上mysql的3306端口:
//开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
//重启防火墙
firewall-cmd --reload
若是阿里云服务器,还需要在阿里云控制台的安全组策略中开放其端口
二、Centos6.5下安装mysql-5.6
1)查看CentOS自带的mysql:输入 rpm -qa | grep mysql
2)将自带的mysql卸载
3)上传Mysql到linux
4)安装mysql的依赖(选做)
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum update libstdc+±4.4.7-4.el6.x86_64
5)解压Mysql到/usr/local/下的mysql目录(mysql目录需要手动创建)内
cd /usr/local
mkdir mysql
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql
6)在/usr/local/mysql下安装mysql
安装服务器端:rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
安装客户端:rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
7)启动mysql
service mysql start
8)将mysql加到系统服务中并设置开机启动
加入到系统服务:chkconfig --add mysql
自动启动:chkconfig mysql on
9)登录mysql
mysql安装好后会生成一个临时随机密码,存储位置在/root/.mysql_secret(mysql5.5及以前,默认密码为空)
msyql –u root -p
10)修改mysql的密码
set password = password(‘root’);
11)开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启 远程登录mysql的权限
登录mysql后输入如下命令:
grant all privileges on . to ‘root’ @’%’ identified by ‘root’;
flush privileges;
12)开放Linux的对外访问的端口3306
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save ---将修改永久保存到防火墙中
**备注:**所有linux上的软件若需要被外界访问,那么就必须手动设置该软件对应的端口对外访问