一 初始化MySQL并连接服务器
- 创建启动的cnf文件:start.cnf,此文件仅能保障最基本的启动,需要其他功能需要再编辑添加。
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/mysql_data
user=mysql
port=3306
socket=/usr/local/mysql/mysql_data/mysql.socket
log_error=/usr/local/mysql/mysql_data/mysql.log
log_bin=/usr/local/mysql/mysql_data/binlog
skip_name_resolve
skip-grant-tables
~
* 注意相关目录要有mysql用户的权限。
- 执行目录初始化:
./mysqld --defaults-file=../start.cnf --initialize --user=mysql
初始化出来的目录,所属都是mysql。
- 启动服务进程:
./mysqld_safe --defaults-file=../start.cnf &
或使用
./mysqld --defaults-file=../start.cnf &
safe是包含启动和守护进程,输出的日志位置不是cnf里定义的,第一次启动的时候最好使用mysqld,按上面的配置,查看data目录中mysql.log,里面包含初始化的root密码,该密码随机,共用户登录服务器使用。
- 客户端连接服务器:本地连接使用-Ssocket,不使用-h参数。
./mysql -P3306 -uroot -pbXz6Gv+MkjhT -S/usr/local/mysql/mysql_data/mysql.socket
默认root是通过本地socket方式登录,所以要使用-S参数,socket的位置在配置文件的定义。
root成功登录后,查看系统默认的mysql.user表,里面的host,user,authentication_string分别为用户登录时的鉴定位置,用户名,密码,显示的密码是加密的。截图中的user1是为后创建的。
首先为了以后root登录方便,可以对root的密码进行修改,当然也可以为了安全不进行任何操作。
root登录状态下执行:ALTER USER USER() IDENTIFIED BY 'newpassword'; --此命令在MySQL8.*版本上有效。
如果提示 ‘操作之前需要修改密码’,则直接执行上面的ALTER语句。
修改之后就可以使用新的密码登录root了。
【未完待续】