主要文件位置
##没加粗的路劲都是自己指定的,mysql5.7编译安装可看上一篇文章
/usr/local/mysql57/bin/mysql 主服务程序
/etc/ 主配置文件
/usr/local/mysql57/bin/mysqld 初始化数据库
/usr/local/mysql57/support-files/ 启动脚本
/mysql/ sock文件 的位置
/mysql/ pid文件的位置。
给服务相关目录授权
chown -R mysql:mysql /usr/local/mysql57 # 重新修改权限
chown -R mysql:mysql /mysql # 数据库数据目录授权
chown -R mysql:mysql / #配置文件授权
修改配置文件/etc/
[client]
port=3306
socket=/mysql/
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
skip-name-resolve ##跳过主机名解析,
user=mysql
port=3306
basedir=/usr/local/mysql57 #mysql主程序的目录
datadir=/mysql #mysql数据库数据存放
tmpdir=/tmp
socket=/mysql/ #sock文件路径
log-error=/mysql/ #日志文件路径
pid-file=/mysql/ #服务pid文件所在位置
初始化数据库
# 初始化数据库, 确保 /data/mysql 目录是mysql 可写的。
/usr/local/mysql57/bin/mysqld --defaults-file=/etc/ --initialize --user=mysql
命令参数解释:
--defaults-file : 指定MySQL配置文件路径 ##这里面有我们刚才配置好的参数
--initialize : 初始化随机密码,注意,初始化的密码是一个过期密码,登录后需要立刻修改密码
--user: 指定运行用户
启动服务
/usr/local/mysql57/support-files/ start #启动mysql 服务器
登录数据库
注意:初始化时随机生成了密码,可以去/mysql下的 里查看
【root】# cat | grep password
2018-09-12T06:28:43.374399Z 1 [Note] A temporary password is generated for root@localhost: dHuSP!;y.3ef
#临时密码登录数据库 (会提示要你修改密码)
/usr/local/mysql57/bin/mysql -uroot -p "dHuSP!;y.3ef"
修改密码方法:(建议方法二)
方法一:
mysql>update set authentication_string=password("新密码");
mysql>flush privileges;
方法二:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
mysql> flush privileges;
忘记MySQL的root密码如何登录
1、在配置文件的mysqld端下加skip-grant-tables跳过密码认证
[mysqld]
skip-grant-tables
2、重启服务或重装配置文件
/usr/local/mysql57/support-files/ restart
/usr/local/mysql57/support-files/ reload
3、无密码登录
/usr/local/mysql57/bin/mysql
4、无密码登陆后修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
mysql> flush privileges;
5、删除配置文件里skip-grant-tables (重点:不删除,密码不会生效)
#skip-grant-tables
6、重启服务,或加载配置文件就生效了
设置无密码登录
#修改配置文件的client段,添加如下参数
password=123123 #你设置密码
在登录时候就不用输入:mysql -uroot -p 输入密码登录数据库了
授权其他主机能登录mysql数据库
#授权10.10.10.1主机用root用户,密码为123123 登录数据库
grant all on *.* to "root"@"10.10.10.1" identified by "123123";
#授权所有主机可以用root用户远程登陆 ,密码是root
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;