Linux服务器搭建——MySQL的安装

1、删除系统自带的mysql或者mariadb

运用rpm命令检查系统中是否存在MySQL或maridadb

rpm -qa|grep mysql

rpm -qa|grep mariadb

若存在,则执行以下命令删除:

rpm -e 软件名

这里的软件名必须包含软件的版本信息

若卸载失败,执行以下命令强制卸载:

rpm -e --nodeps 软件名

PS:rpm命令是RPM软件包的管理工具(参考:https://www.cnblogs.com/ftl1012/p/rpm.html

 

2、运行以下命令安装MySQL

安装依赖:

yum install -y libaio-*

创建mysql安装目录

mkdir /usr/local/mysql

进入软件压缩包管理区域

cd /usr/local/packages

可以在线下载mysql安装包:

wget https://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

也可以直接上传(上一篇中有提到)

解压mysql安装包(tar的参数中加上了z)

tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

移动解压文件至mysql目录

mv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql

 

3、依次运行以下命令建立 MySQL 组和用户,并将用户添加到组中:

groupadd mysql

useradd -g mysql -s /sbin/nologin mysql

进入安装目录:

cd /usr/local/mysql

修改当前目录拥有者为mysql用户:

chown -R mysql:mysql ./

进入scripts文件下

cd scripts

运行命令初始化MySQL数据库:

./mysql_install_db --datadir=/usr/local/mysql/data/ --basedir =/usr/local/mysql --user=mysql

 

 

若报异常提示mysql.plugin找不到,异常信息,/usr/bin/perl: bad interpreter: No such file or directory,没有/usr/bin/perl文件或者档案,则需要安装perl和perl-devel,执行:

yum -y install perl perl-devel

再次执行数据库初始化命令,又提示:

FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:

Data::Dumper

则需要安装dumper,执行:

yum install -y perl-Data-Dumper

再次执行数据库初始化命令

成功。

4、权限

修改当前目录拥有者为root用户:

chown -R root:root ./

修改当前data目录拥有者为mysql用户:

chown -R mysql:mysql data

 

5、依次运行以下命令设置开机自启动:

cd /usr/local/mysql/support-files/

cp mysql.server /etc/init.d/mysqld

添加执行权限

chmod +x /etc/init.d/mysqld

vim /etc/rc.d/rc.local

在 rc.local 文件中添加 /etc/init.d/mysqld start

退出编辑,保存

 

6、启动MySQL数据库

/etc/init.d/mysqld start

 

7、设置环境变量

运行 vi /root/.bash_profile 打开文件,按 i 进入编辑模式。

将 PATH 修改为

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

按 esc 键退出编辑模式,输入 :wq 保存并关闭文件。

运行 source /root/.bash_profile 重新执行文件。

 

修改 MySQL 的 root 用户密码:初始化后 MySQL 为空密码可直接登录,为了保证安全性需要修改 MySQL 的 root 用户密码。mysqladmin -u root password

测试登录 MySQL 数据库。 mysql -uroot -p密码 #-p和密码之间无空格

远程数据库授权:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

使授权生效:FLUSH PRIVILEGES;

ctrl+d 退出mysql

 

8、远程连接

修改/etc/my.cnf配置文件,添加编码配置和端口号

查看my.cnf的具体路径

(参考:

https://blog.csdn.net/djcode/article/details/78621772

https://www.cnblogs.com/sunpear/p/8117113.html

/usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options'

从5.7.18开始不在二进制包中提供my-default.cnf文件,可以自己新建在指定目录下,复制必要信息,mysql会在启动时自动匹配

 

在[mysqld]下添加编码配置:

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

修改端口号、开放端口

port=3306

重新启动mysql服务使配置生效:

systemctl restart mysqld

或者

service restart mysqld

开放端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

远程测试连接

 

参考文章:

https://www.cnblogs.com/pretty-sunshine/p/9749450.html

https://www.cnblogs.com/ivictor/p/5727395.html

https://www.cnblogs.com/zhjh256/p/5728878.html

https://blog.csdn.net/lssoop/article/details/80033104

开放端口号

https://www.cnblogs.com/tony-brook/p/9876543.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章