MySQL5.7常规配置
配置my.ini文件,在目录下新建个my.ini
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=E:/work/technology/tool/mysql/mysql-5.7.29-winx64 # 设置mysql数据库的数据的存放目录 datadir=E:/work/technology/tool/mysql/mysql-5.7.29-winx64/data # 允许最大连接数 max_connections=200 #修改时区 default-time_zone='+8:00' # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
要到微软官网下载C++依赖
https://www.microsoft.com/zh-cn/download/details.aspx?id=40784
初始化MySQL
管理员身份运行cmd,进入bin目录
1、安装MySQL服务:一定要是管理员面板
./mysqld -install
如果不想让MySQL服务每次开机都自动启动,可以使用--install-manual 参数代替 --install 参数。
2、输入 --initialize 初始化MySQL,单词一定不能错
./mysqld --initialize
或者(不安全选项)
mysqld –initialize-insecure
tips:两者取决于你是否希望服务器生成一个拥有随机初始密码的root@localhost
的账户。后者直接是空密码创建
- 为了能够方便查看初始化过程中的信息,可以追加
--console
参数使mysqld将输出信息写到控制台。 - 一般linux系统才需要追加
--user=mysql
之类来指定用户(事先设好读写权限)
3、控制台下输入指令启动mysql服务
net start mysql
卸载mysql服务使用的命令是
mysqld --remove
正常退出和关闭mysql服务使用
net stop mysql
错误日志:如果 mysqld 没能启动成功,则可以查看 error log 文件,该文件在配置文件中指定的 datadir 目录中,后缀名.err 。error log 文件是可以通过 --log-error 参数指定的,另外,如果想让 mysqld 将错误日志输出到控制台,可以使用 --console 参数。
可通过运行,输入
services.msc
强制跳过密码登录
方法一:配置my.ini文件
在配置文件,my.ini中的[mysqld]
下添加一行
配置my.ini文件
skip_grant_tables
配置完成后,要重启MySQL服务
方法二:执行命令
mysqld --skip_grant_tablesh
4、登录和重设密码
登录mysql服务,连接到服务器
mysql -u root -p #输入前面的随机密码登入
之前你使用--initialize-insecure
参数初始化,则使用如下命令来连接MySQLmysql -uroot --skip-password
或同样使用mysql -uroot -p
在提示输入密码时直接回车即可进入。
用mysqladmin方式重设root密码
mysqladmin -uroot -p password
4.1 直接在mysql内直接修改用户权限或user表方式修改密码。【root为密码】
这种方式直接成功
mysql> update user set authentication_string = password('root'),password_expired = 'N',password_last_changed = now() where user = 'root';
5.7以前的版本是使用password字段保存密码的,5.7改成了authentication_string
修改密码后需要输入flush privileges;命令来刷新生效。
由于authentication_string不太容易记忆,也有直接改权限的,例:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'
同样flush privileges;命令来刷新权限即生效。