mysql 2005正确安装_05-安装 MySQL5.7

检查工作

检查当前系统是否安装过 MySQL

[CentOS6] rpm -qa|grep mysql → rpm -e --nodeps mysql-libs

[CentOS7] rpm -qa|grep mariadb → rpm -e --nodeps mariadb-libs

检查当前 MySQL 依赖环境

libaio:rpm -qa|grep libaio

net-tools:rpm -qa|grep net-tools

检查 /tmp 文件夹权限

9c8a906b751322d08490017547ea816b.png

安装

在 MySQL 的安装文件目录下执行(必须按照顺序):

rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm

62189ccb369cc18e1fce1f7b0e9655fb.png

服务初始化

为了保证数据库目录为与文件的所有者为 MySQL 登陆用户,如果你是以 root 身份运行 MySQL 服务,需要执行下面的命令初始化:mysqld --initialize --user=mysql。

另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码。

查看密码:cat /var/log/mysqld.log

1dc73658a45f8988aa8b78487e9d27a3.png

服务启动+首次登陆

启动:systemctl start mysqld.service

关闭:systemctl stop mysqld.service

状态:systemctl status mysqld.service

重启:systemctl restart mysqld.service

78382d65c2010721ac28fdd221b4e92f.png

首次登陆通过 mysql -uroot -p 进行登录,在 Enter password 时录入初始化密码。进入之后,因为初始化密码默认是过期的,所以查看数据库会报错。需要修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';。设置完密码就可以用新密码登陆,正常使用数据库了。

是否自启动

查看 MySQL 是否自启动(默认自启动):systemctl list-unit-files | grep mysqld.service

e0ab41682cc463c1e60214957a897887.png

如不是 enabled 可以运行如下命令设置自启动:systemctl enable mysqld.service

字符集

直接插入中文数据报错。

修改配置文件:vim /etc/my.cnf,在最后加上中文字符集配置:character_set_server=utf8。

重新启动 MySQL:systemctl restart mysqld.service

已生成的库表字符集如何变更修改数据库的字符集

mysql> alter database mydb character set 'utf8';

修改数据表的字符集

mysql> alter table testTab convert to character set 'utf8';

一定要注意!除了增加 character_set_server=utf8 到 my.cnf 外,已创建的库表还要单独修改字符集。

0cadacda408afcd64eee21ec8a72dda2.png

远程登陆

先确保有可以通过远程登录的账户。

1e94e55c891edfbc5321106b3d316ee3.png

user 表字段说明:

host:表示连接类型

% 表示所有远程通过 TCP 方式的连接

localhost 本地方式通过命令行方式的连接 ,比如 mysql -u xxx -p xxx 方式的连接。

user:表示用户名,同一用户通过不同方式链接的权限是不一样的。

password:密码。所有密码串通过 password(明文字符串) 生成的密文字符串。加密算法为 MYSQLSHA1,不可逆。MySQL 5.7 的密码保存到 authentication_string 字段中而不再使用 password 字段。

f8afead0289e7bd6fc0429b3c3c1bbbc.png

如果测试的时候,还是连接不上,看看防火墙。

systemctl stop firewalld.service # 停止firewall

systemctl disable firewalld.service # 禁止firewall开机启动

systemctl restart iptables.service # 重启防火墙使配置生效

systemctl enable iptables.service # 设置防火墙开机启动

sql_mode

sql_mode 是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题。

查看 sql_mode:show variables like 'sql_mode';

sql_mode 常用值如下:set sql_mode='ONLY_FULL_GROUP_BY';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值