linux中mysql数据库安装
1.准备安装包
这⾥下载的是 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
安装包,并将其直接放在了 root
⽬录下
2.卸载系统⾃带的mariadb
⾸先查询已安装的 Mariadb
安装包:
rpm -qa|grep mariadb
卸载,如果有多个,则需要删除完
yum -y remove mariadb-libs-5.5.64-1.el7.x86_64
3.解压mysql
安装包
将mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
安装包解压到/usr/local/
⽬录,并重命名为 mysql
tar -zxvf /root/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local
mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql
4.创建mysql
⽤户和⽤户组
groupadd mysql
useradd -g mysql mysql
新建mysql数据库的数据的存放⽬录/usr/local/mysql/data
mkdir /usr/local/mysql/data
5.修改mysql
⽬录的归属⽤户
chown -R mysql:mysql ./
6.准备mysql
的配置⽂件
在etc
目录下新建my.cnf
文件
touch /etc/my.cnf
并在/etc/my.cnf
文件中写入这些配置,保存并退出
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端⼝
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装⽬录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放⽬录
datadir=/usr/local/mysql/data
# 允许最⼤连接数
max_connections=200
# 服务端使⽤的字符集默认为8⽐特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使⽤的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
创建/var/lib/mysql
目录,并修改权限
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
7.正式开始安装mysql
执⾏如下命令正式开始安装:
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意:记住上⾯打印出来的 root 的密码,后⾯⾸次登陆需要使⽤
8.复制启动脚本到资源⽬录
复制
cp ./support-files/mysql.server /etc/init.d/mysqld
并修改 /etc/init.d/mysqld
,修改其basedir
和 datadir
为实际对应⽬录:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
9.设置MYSQL系统服务并开启⾃启
⾸先增加 mysqld 服务控制脚本执⾏权限:
chmod +x /etc/init.d/mysqld
同时将 mysqld 服务加⼊到系统服务:
chkconfig --add mysqld
最后检查 mysqld 服务是否已经⽣效即可:
chkconfig --list mysqld
这样就表明 mysqld 服务已经⽣效了,在2、3、4、5运⾏级别随系统启动⽽⾃动启动,以后可以直接使
⽤ service 命令控制 mysql 的启停。
10.启动MYSQLD
service mysqld start
11.将mysql
的bin
⽬录加⼊ PATH
环境变量
这样可以在任意⽬录上都可以使⽤ mysql 提供的命令。
编辑~/.bash_profile
⽂件,在⽂件末尾处追加如下信息,并保存退出
export PATH=$PATH:/usr/local/mysql/bin
最后执⾏如下命令使环境变量⽣效
source ~/.bash_profile
12.⾸次登陆mysql
mysql -u root -p
13.来修改root
账户密码
例如:将密码设置成简单的“root”。
alter user user() identified by "root";
flush privileges;
14.设置远程主机登录
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
15.关闭防火墙或开放指定端口
方式一:查看防火墙状态并关闭防火墙,
systemctl status firewalld
方式二:开启防火墙但编辑防火墙文件打开3306端口(建议)
开启防火墙
编辑/etc/sysconfig/iptables
文件
vim /etc/sysconfig/iptables
添加开放mysql数据库端口的指令,保存并退出
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
重启防火墙
service iptables restart
16.利用mysql界面⼯具进⾏测试即可:
到此,如果能够连接上linux安装的mysql,则证明成功
补充
Linux系统中无iptables文件
Centos7版本解决方法:
1、安装iptables-service软件包
yum install iptables-services
2、在引导时启用iptables服务
systemctl enable iptables
3、启动iptables服务
systemctl start iptables
4、保存防火墙规则
service iptables save