厦门关键词优化网站,手机网站设计标准,wordpress怎么添加关键词描述,招聘网站开发模板MySQL 8 默认关闭了 mysql_native_password#xff0c; 需要手动开启。但是MacOS各种坑#xff0c;气死个人。
mysql8 内置了 mysql_native_password #xff0c;只是没有开启。 验证方式是执行 show plugins; #xff0c;返回的结果中应该有 mysql_native_password …MySQL 8 默认关闭了 mysql_native_password 需要手动开启。但是MacOS各种坑气死个人。
mysql8 内置了 mysql_native_password 只是没有开启。 验证方式是执行 show plugins; 返回的结果中应该有 mysql_native_password 并且是 disabled 状态。
系统设置往下拉找到Mysql正常情况下你应该是小绿点active状态。 进入“Configuration”标签页默认 Configuration file 是没有勾选的是空的。请勾选并配置为 /etc/my.cnf。 并点击“Apply”并确定。
当然你可能听说 Mysql 有很多配置文件 也可以配置到~/.my.cnf。但这是错误的。理论上可以但实际上不行为啥我也不知道我估计又是MacOS的诡异权限问题。 编辑 /etc/my.cnf 文件是需要root的切换到root用户的方式是执行命令 “sudo su - root”. 网上一堆人说要找 my-default.cnf 文件它是默认模板文件复制一下改一下就行了。扯淡的是MacOS下根本没这个文件。这里我直接给出文件内容你直接复制粘贴到 /etc/my.cnf 即可。
# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information about these locations, see:
# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the --help option.
# The following options will be passed to all MySQL clients
[client]
default-character-setutf8
#password your_password
port 3306
socket /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
# default_authentication_pluginmysql_native_password
mysql_native_passwordON
character-set-serverutf8
init_connectSET NAMES utf8
port 3306
socket /tmp/mysql.sock
skip-external-locking
key_buffer_size 16M
max_allowed_packet 1M
table_open_cache 64
sort_buffer_size 512K
net_buffer_length 8K
read_buffer_size 256K
read_rnd_buffer_size 512K
myisam_sort_buffer_size 8M
# Dont listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the enable-named-pipe option) will render mysqld useless!
#
#skip-networking # Replication Master Server (default)
# binary logging is required for replication
log-binmysql-bin # binary logging format - mixed recommended
binlog_formatmixed # required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id 1 # Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
# the syntax is:
#
# CHANGE MASTER TO MASTER_HOSThost, MASTER_PORTport,
# MASTER_USERuser, MASTER_PASSWORDpassword ;
#
# where you replace host, user, password by quoted strings and
# port by the masters port number (3306 by default).
#
# Example:
#
# CHANGE MASTER TO MASTER_HOST125.564.12.1, MASTER_PORT3306,
# MASTER_USERjoe, MASTER_PASSWORDsecret;
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
# start replication for the first time (even unsuccessfully, for example
# if you mistyped the password in master-password and the slave fails to
# connect), the slave will create a master.info file, and any later
# change in this file to the variables values below will be ignored and
# overridden by the content of the master.info file, unless you shutdown
# the slave server, delete master.info and restart the slaver server.
# For that reason, you may want to leave the lines below untouched
# (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id 2
#
# The replication master for this slave - required
#master-host hostname
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user username
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password password
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port port
#
# binary logging - not required for slaves, but recommended
#log-binmysql-bin # Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir /usr/local/mysql/data
#innodb_data_file_path ibdata1:10M:autoextend
#innodb_log_group_home_dir /usr/local/mysql/data
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size 16M
#innodb_additional_mem_pool_size 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size 5M
#innodb_log_buffer_size 8M
#innodb_flush_log_at_trx_commit 1
#innodb_lock_wait_timeout 50 [mysqldump]
quick
max_allowed_packet 16M [mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-setutf8 [myisamchk]
key_buffer_size 20M
sort_buffer_size 20M
read_buffer 2M
write_buffer 2M [mysqlhotcopy]
interactive-timeout然后root用户下执行 chmod 777 /etc/my.cnf
接下来有一些高端操作不解释跟着做就好。
先找到mysql根目录你可以通过 执行 which mysql 命令获取也可以看这里 Error Log的目录例如对于 /usr/local/mysql/data/mysqld.local.err 它的实际mysql根目录是 /usr/local/mysql/bin。 在mysql根目录下执行
# 均在 root 用户下执行mv /usr/local/mysql/bin/mysqld /usr/local/mysql/bin/mysqld.bak# 这个文件空的就可以vim 之后直接 :wq
vim /usr/local/mysql/bin/mylog.tmp.txtchmod 777 /usr/local/mysql/bin/mylog.tmp.txtvim /usr/local/mysql/bin/mysqld
/usr/local/mysql/bin/mysqld 内容
#!/bin/bashecho Input arguments: $echo Input arguments: $ /usr/local/mysql/bin/mylog.tmp.txt/usr/local/mysql/bin/mysqld.bak $ --mysql-native-passwordON 这样就配置完了需要重启mysql服务每次启动都要输管理员密码确实很麻烦。经过上述的修改启动状态就无法在这里看到了会永远都是红点。那如何验证是否启动成功呢可以执行
ps -ef | grep mysql 看有没有 mysqld.bak 一大串参数 的进程如果有就是成功了。没有就是失败了。
失败日志可以执行 tail -f /usr/local/mysql/data/mysqld.local.err 来查看
命令执行情况可以执行 tail mylog.tmp.txt 查看每次执行命令都会记录下来。如果过几秒就多一条命令说明服务在不断重启。 正常情况下应该不会报错。你通过 ps -ef | grep mysql 看到相关进程就可以尝试连接一下数据库测试了执行 show plugins; 应该能看到 mysql_native_password 是 active 状态 那么如何重启mysql服务呢因为系统设置里一直都是红点根本没有stop按钮所以你要通过 ps -ef | grep mysql 查看进程号直接kill掉。 然后再从系统设置里再启动一次完成重启。 上面整个操作的原理就是替换原本的 mysqld 文件改成我们自己的shell文件我们的shell文件再调用原本的mysqld文件这样我们就能在中间加参数把 --mysql-native-passwordON 加上去。