1.手动安装
1.将msyql的安装包导入liunx内
我这个里使用FTP导入进去的,我的博客内有FTP安装教程
2.进入目录下并解压
- 创建一个mysql的目录–>mkdir /opt/mysql
- 进入你导入的目录找到压缩包–> cd /home/rain/tools(这是我的目录)
- chmod +x mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -->修改权限
- tar xzf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /opt/mysql/ 解压到指定文件夹
- mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql5.7 修改文件夹名称
3.配置mysql
- 在mysql目录下新建data文件作为资源库
mkdir /opt/mysql/mysql5.7 /data - 进去安装目录中bin文件
cd /opt/mysql/mysql5.7/bin - 编译安装mysql
./mysqld --initialize --user=mysql --datadir=/opt/mysql/mysql5.7/data --basedir=/opt/mysql/mysql5.7
执行后展示:警告提示,最后一行圈红需要留意下: w2/vuo0BhWif(临时密码)
执行时报错,如下:是没有设置对应的mysql账户,需要创建
groupadd mysql
useradd -r -g mysql mysql
4.编辑配置文件
- 进入配置文件编辑–>vim /opt/mysql/mysql5.7/my.cnf
[mysqld]
# 数据源位置
datadir=/opt/mysql/mysql5.7/data
# 端口号
port=3306
# sql规范
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
# 是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别
innodb_file_per_table=1
# 是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;修改后,必须重启才能生效
lower_case_table_names=1
# 设置数据库默认字符集,如果不设置默认为latin1
character_set_server=utf8
5.启动
-
/opt/mysql/mysql5.7/support-files/mysql.server start
报错,是因为没有修改 启动文件指向目录
解决方式:- 打开编辑器–>vim /opt/mysql/mysql5.7/support-files/mysql.server
- 原文(修改前)–>将选中位置修改为你的路径
- 修改后:
- :wq 保存退出
-
仍旧启动 /opt/mysql/mysql5.7/support-files/mysql.server start
报错:因为新版本的mysql安全启动安装包只认/usr/local/mysql这个路径。
解决方法一: 建立软连接(自由发挥,我没用过)
#cd /usr/local/mysql
#ln -s /opt/mysql/mysql5.7/bin/myslqd mysqld
参考文章
解决方法二: 修改mysqld_safe文件
1. mysqld_safe复制一份,以免改错了–>cp mysqld_safe mysqld_sage2
2. 进入文件编辑–>vim /opt/mysql/mysql5.7/bin/mysqld_safe
将所有的/usr/local/mysql改为/opt/mysql/mysql5.7 -
仍旧启动 /opt/mysql/mysql5.7/support-files/mysql.server start
报错一样,开始排查:
排查mysql用户是否没有/opt/mysql/mysql5.7/data权限
授权–> chown -R mysql.mysql /opt/mysql/mysql5.7/data -
在my.cnf中添加 user=mysql ,指明启动用户,启动成功
sudo yum install libncurses*
6.测试
- 链接mysql --> “/opt/mysql/mysql5.7/bin/mysql -u root -p” 回车
- 输入mysql 随机生成的密码 步骤3.3
- 修改密码–>set password for root@localhost = password(‘rain’);
- 开放帐号远程连接
1. use mysql;(连接到mysql数据库)
2. update user set user.Host=’%’ where user.User=‘root’;(修改权限)
3. flush privileges;(刷新权限) - 远程链接测试
- 更新_如果登录时提示:
执行 yum install libncurses* 安装运行包就好了
7.配置开启自启
- 将服务文件拷贝到init.d下,并重命名为mysql
cp /opt/mysql/mysql5.7/support-files/mysql.server /etc/init.d/mysqld - 给文件授权–>chmod +x /etc/init.d/mysqld
- 添加服务–>chkconfig --add mysqld
- 查看是否添加成功–>chkconfig --list
8.其他
- 设置环境变量
1. 编辑器文件–>vim /etc/profile
2. 最后添加–>export PATH=$PATH:/usr/local/mysql/bin - 添加为服务–>service mysqld start|stop|restart|status
2.yum部署
1.安装MySQL
- 运行以下命令更新YUM源。
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm - 运行以下命令安装MySQL。
yum -y install mysql-community-server - 运行以下命令查看MySQL版本号–>mysql -V
如果,出现这个:
所有的匹配结果均已经被参数的模块化过滤条件筛除: mysql-community-server 错误:没有任何匹配:
mysql-community-server
执行:
yum module disable mysql
2.配置MySQL
- 运行命令启动MySQL服务–>systemctl start mysqld
- 运行命令设置开启自启–> systemcil enable mysqld
- 运行命令查看root帐号及初始密码–>grep ‘temporary password’ /var/log/mysqld.log
红色圈起为密码
- 运行下列命令对MySQL进行安全性配置–>mysql_secure_installation
- 重置root用户的密码
Enter password for user root: #输入上一步获取的root用户初始密码
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration of the plugin.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y #是否更改root用户密码,输入Y
New password: #输入新密码,长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号可以是()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/
Re-enter new password: #再次输入新密码
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y #是否继续操作,输入Y
- 删除匿名用户账号。
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y #是否删除匿名用户,输入Y
Success.
- 禁止root账号远程登录。
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #禁止root远程登录,输入Y
Success.
- 删除test库以及对test库的访问权限。
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y #是否删除test库和对它的访问权限,输入Y
- Dropping test database...
Success.
- 重新加载授权表。
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是否重新加载授权表,输入Y
Success.
All done!
3.配置远程访问
- 进入mysql–> mysql -uroot -p 回车
- 输入你修改过后的密码
- 开放帐号远程连接
1. use mysql;(连接到mysql数据库)
2. update user set user.Host=’%’ where user.User=‘root’;(修改权限)
3. flush privileges;(刷新权限)