参考博客:Linux下部署Mysql5.6(非Docker方式)


卸载自系统自带的Mariadb

rpm -qa|grep mariadb

rpm -e --nodeps 文件名

删除系统默认的my.cnf文件

rm -rf /etc/my.cnf

创建mysql用户和用户组

groupadd mysql
useradd -g mysql mysql

新建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=/tgdata/mysql-5.5.62
# 设置mysql数据库的数据的存放目录
datadir=/tgdata/mysql-5.5.62/data
# 允许最大连接数
max_connections=2000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 大小写不敏感
lower_case_table_name=1

max_allowed_packet=16M

# 配置主从需要指定serverId
server-id=1
# log-bin文件前缀名
log-bin=master-bin
# 日志文件保存时间(单位:天) -> 不设置会导致长期运行下日志文件占满磁盘空间
expire_logs_days=7
# 日志文件保存格式
binlog-format=ROW

# 开启独立表空间(不开启,则默认所有文件数据存ibdata1下,且删除表空间不释放!-> mysql5.6.6及其后续版本默认开启)
innodb_file_per_table=1

创建相关文件目录

因为在my.cnf配置文件中已指明当前路径地址,所以需要创建

# 创建目录
mkdir /var/lib/mysql
mkdir /var/lib/mysql/mysql
# 赋予mysql用户权限
chown -R mysql:mysql /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/mysql

当前博客以/tgdata目录作mysql安装及数据目录

mkdir /tgdata
cd /tgdata

下载mysql安装文件

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz

解压缩

tar -zxf mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz

重命名

mv mysql-5.5.62-linux-glibc2.12-x86_64 mysql-5.5.62 
cd mysql-5.5.62

创建data数据目录

mkdir data 

赋予mysql用户当前目录下操作权限

先创建data数据目录,在对./路径下所以目录赋权限给mysql用户

chown -R mysql:mysql /tgdata/mysql-5.5.62

初始化mysql数据库

./scripts/mysql_install_db --user=mysql --basedir=/tgdata/mysql-5.5.62/ --datadir=/tgdata/mysql-5.5.62/data/

配置mysql系统服务

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld 

授予执行权限

chmod +x /etc/rc.d/init.d/mysqld

添加mysql到开机启动

chkconfig --add mysqld

验证mysql服务是否添加开机启动项中

chkconfig --list mysqld

配置mysql的环境变量配置

不配置环境变量,无法直接在控制台执行mysql命令;例如:mysql -uroot -p

vim /etc/profile
export PATH=$PATH:/tgdata/mysql-5.5.62/bin

刷新环境变量

source /etc/profile

登录mysql

mysql5.5.62 安装后默认是无密码的

mysql -uroot -p

修改mysql数据库root密码

use mysql;

update user set authentication_string=password("123456") where user='root';
# 或
UPDATE user SET Password = PASSWORD('123456') WHERE user = 'root';

允许mysql-root用户远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

刷新权限

flush privileges