Mysql
数据库安装
(1)
、安装前准备
1.卸载MariaDB
安装
MySQL
的话会和
MariaDB
的文件冲突,所以需要先卸载掉
MariaDB
。
1
查看是否安装
mariadb
rpm -qa|grep mariadb
2
卸载
rpm -e --nodeps
文件名
3
检查是否卸载干净
rpm -qa|grep mariadb
2.检查依赖
1
查看是否安装
libaio
rpm -qa|grep libaio
2
如果没有安装则执行
yum -y install libaio //
安装
libaio
3
查看是否安装
numactl
rpm -qa|grep numactl
4
如果没有安装则执行
yum -y install numactl //
安装
numactl
(2)
、安装
MySQL
【离线安装】
下载资源包
MySQL
官网下载地址
:
MySQL :: Download MySQL Community Server (Archived Versions)
将下载压缩包上传
/usr/local
【切换路径到
/usr/local
中,将软件包拖着到这个窗口会自动上传】
<1>
、解压
tar
文件,将其中的
gz
文件取出
tar -xvf mysql
的
.tar
<2>
、解压
mysql
核心的
gz
文件:
tar -zxvf
和
mysql
的
tar
同名的
.gz
<3>
、重命名解压出来的
mysql
核心文件重命名为
mysql
:
mv
旧名 新名
<4>
、在
MySQL
目录下创建存储数据文件
data
:
mkdir /usr/local/mysql/data
<5>
、创建
mysql
用户和用户组,并赋权
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql/
chmod -R 755 /usr/local/mysql/
<6>
、进入
mysql
的
bin
目录并初始化
mysql
:
进入
bin
目录:
cd /usr/local/mysql/bin
初始化:
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --
basedir=/usr/local/mysql
<7>
、设置
mysql
配置文件:
vi /etc/my.cnf
ps
:
my.cnf
是
mysql
配置文件,
windows
下
my.ini
文件信息:
[client]
#MySQL
端口,如果开了
iptables
防火墙要开放端口
port = 3306
#
注意
mysql
解压路径
socket = /usr/local/mysql/data/mysql.sock
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = 'SET NAMES utf8mb4'
#MySQL
端口,如果开了
iptables
防火墙要开放端口
port = 3306
#
注意
mysql
解压路径
socket = /usr/local/mysql/data/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
#
注意
mysql
解压路径
datadir = /usr/local/mysql/data
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
<8>
、设置软连接,并重启
MySQL
#
设置软连接
#/etc/init.d
这个目录中内容会在
linux
启动时被加载【自动运行】,将
mysql
启动文件
【
mysql.serve
】创建一个软连接放进去,就会在
linux
启动时将
mysql
启动了
#
注意路径问题
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/mysql.sock /var/mysql.sock
#
启动
mysql
service mysql start
ps
:设置了
mysql
软连接后就可以用
service
来启动
/
关闭
mysql
了
--- service mysql start
:启动
--- service mysql stop :
停止
--- service mysql restart
:重启
<9>
、设置
mysql
开启自启动
将服务文件拷贝到
/etc/init.d
下,并重命名为
mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
赋予可执行权限
chmod +x /etc/init.d/mysqld
添加服务
chkconfig --add mysqld
显示服务列表
chkconfig --list
注:如果看到
mysqld
的服务,并且
3,4,5
都是
on
【开】的话则成功
(3)
、登录
mysql修改密码
登录
mysql
:
mysql -u root -p ----
登录
mysql
用户名
roo
t
更改
localhost
的规则:
注意:
localhost
本机的意思,只能在当前系统下进行访问,外部通过
ip
的是不行的
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
更新
localhost
用户密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '
密码
';
更新启用
FLUSH PRIVILEGES;
注意:
localhost
这个密码只能本地连接,想要远程连接需要创建一个
%
密码
添加新用户
root'@'%:
注意:
%
意思是不限制访问
ip---
任何人都可以使用
create user 'root'@'%' identified with mysql_native_password by '
密码
';
更改加密规则:
ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
ps
:如果不设置这个加密规则,可能远程无法连接,因为不设置该项,可以输入密码会乱码
更新
root
用户密码:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '
密码
';
赋予
root%
用户所有权限
grant all on *.* to 'root'@'%'; #
给创建的
root
用户配置所有权限
更新启用
FLUSH PRIVILEGES;
用本地
sqlyog
测试连接
(4)
、如果开启了开启防火墙,要设置开放端口
ps
:该端口和(2)
~7
中的
my.cnf
设置一样才可以