在mac上使用tar.gz安装mysql
程序员文章站
2022-06-23 19:10:00
官方: download: https://dev.mysql.com/downloads/mysql/ mysql参考文档:https://dev.mysql.com/doc/ 环境: macOS Mojave 10.14.2 用户: 管理员用户,期间没有新建mysql用户或组 安装包: mysq ......
官方:
- download: https://dev.mysql.com/downloads/mysql/
- mysql参考文档:https://dev.mysql.com/doc/
环境:
- macos mojave 10.14.2
用户:
- 管理员用户,期间没有新建mysql用户或组
安装包:
- mysql-8.0.13-macos10.14-x86_64.tar.gz
安装配置
1.解压
下载的tar.gz解压后,并移动到/usr/local/mysql,目录结构如下:
$ pwd /usr/local $ tree mysql -l 1 mysql ├── license ├── license.router ├── readme ├── readme.router ├── bin ├── data ├── docs ├── include ├── lib ├── man ├── run ├── share └── support-files
实际上是按照unix目录结构的规范,建议这么做。
本人实际操作过程中,只是通过sudo ln -s ${mysql_home} /usr/local/mysql
,创建了一个软链接。
解压命令:tar -xzvf ${filename}
2.修改权限:sudo chown -r usr:group /usr/local/mysql
3.初始化
$ cd /usr/local/mysql $ bin/mysqld --initialize --user=ephemerid --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 2019-01-20t05:50:19.601053z 0 [system] [my-013169] [server] /workspaces/programfiles/mysql-8.0.13-macos10.14-x86_64/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 1045 2019-01-20t05:50:19.603274z 0 [warning] [my-010159] [server] setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive 2019-01-20t05:50:21.143953z 5 [note] [my-010454] [server] a temporary password is generated for root@localhost: a_mbvrbnd0*r 2019-01-20t05:50:22.000946z 0 [system] [my-013170] [server] /workspaces/programfiles/mysql-8.0.13-macos10.14-x86_64/bin/mysqld (mysqld 8.0.13) initializing of server has completed
ephemerid是我的用户名,改成自己的。
后面两个选项的含义,见后文my-011011。
前面提到过,本人使用了软链接,所以控制台信息中看到的mysql实际的目录。
注意这个“a temporary password is generated for root@localhost”
5.启动
$ support-files/mysql.server start starting mysql . success!
6.连接及修改初始密码
$ bin/mysql -uroot -pa_mbvrbnd0*r mysql: [warning] using a password on the command line interface can be insecure. welcome to the mysql monitor. commands end with ; or \g. your mysql connection id is 8 server version: 8.0.13 copyright (c) 2000, 2018, oracle and/or its affiliates. all rights reserved. oracle is a registered trademark of oracle corporation and/or its affiliates. other names may be trademarks of their respective owners. type 'help;' or '\h' for help. type '\c' to clear the current input statement. mysql> show databases; error 1820 (hy000): you must reset your password using alter user statement before executing this statement. mysql> alter user 'root'@'localhost' identified by 'pass123456'; query ok, 0 rows affected (0.02 sec) mysql> show databases; +--------------------+ | database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec) mysql> exit bye
!!!平常输入密码的时候不要直接添加在-p
选项后面了,会被看到的,一定要注意安全!!!
第一次登陆时,会提示需要重置密码:
alter user 'root'@'localhost' identified by 'pass123456';
7.停止服务
$ support-files/mysql.server stop shutting down mysql .. success!
eorror
the server quit without updating pid file
在未初始化,就启动时出现了:
$ sudo ./support-files/mysql.server start password: starting mysql . error! the server quit without updating pid file (/usr/local/mysql/data/ephemerid.local.pid).
解决
初始化一下,即上文提到的mysqld --initialize
my-011011
在初始化时,没有找到有效的mysql目录以及mysql data目录。
$ sudo ./bin/mysqld --initaialize --user=ephemerid 2019-01-20t05:13:45.476844z 0 [system] [my-010116] [server] /workspaces/programfiles/mysql-8.0.13-macos10.14-x86_64/bin/mysqld (mysqld 8.0.13) starting as process 993 2019-01-20t05:13:45.480320z 0 [warning] [my-010159] [server] setting lower_case_table_names=2 because file system for /workspaces/programfiles/mysql-8.0.13-macos10.14-x86_64/data/ is case insensitive 2019-01-20t05:13:45.487935z 1 [error] [my-011011] [server] failed to find valid data directory. 2019-01-20t05:13:45.488090z 0 [error] [my-010020] [server] data dictionary initialization failed. 2019-01-20t05:13:45.488119z 0 [error] [my-010119] [server] aborting 2019-01-20t05:13:45.488808z 0 [system] [my-010910] [server] /workspaces/programfiles/mysql-8.0.13-macos10.14-x86_64/bin/mysqld: shutdown complete (mysqld 8.0.13) mysql community server - gpl.
解决
就是添加的两个选项,即上文提到的--basedir
和--datadir
了解更多,参考:
- https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html
以上。