连接到新的 MySQL 实例

连接到新的 MySQL 实例

我刚刚使用以下命令创建了一个新的 MySQL 数据目录mysql_install_db

$mysql_install_db --datadir=/home/user1/opt/mysqld/data/
正在安装 MySQL 系统表...
091123 10:51:54 [警告] 仅当以 root 身份运行时才可使用 --user 开关

好的
填写帮助表...
091123 10:51:54 [警告] 仅当以 root 身份运行时才可使用 --user 开关

好的

要在启动时启动 mysqld,你必须复制
将 support-files/mysql.server 复制到适合您系统的正确位置

请记住为 MySQL 根用户设置密码!
为此,启动服务器,然后发出以下命令:
/usr/bin/mysqladmin -u root 密码 '新密码'
/usr/bin/mysqladmin -u root -h machine1 密码 '新密码'
请参阅手册以了解更多说明。
您可以使用以下命令启动 MySQL 守护程序:
cd /usr; /usr/bin/mysqld_safe &

您可以使用 mysql-test-run.pl 测试 MySQL 守护进程
cd mysql-test; perl mysql-test-run.pl

请报告 /usr/bin/mysqlbug 脚本的任何问题!

有关 MySQL 的最新信息可在以下网址获取:
http://www.mysql.com
通过在 http://shop.mysql.com 购买支持/许可证来支持 MySQL

我运行了 mysqld_safe 来启动实例,但 mysql 无法连接。我可以使用 --skip-grant 运行 mysqld,但它不允许我设置新权限。如何启动新 MySQL 实例上的权限?

$ps aux|grep mysql

root 2602 0.0 0.0 87076 1308 ? S 11月22日 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid
mysql 2662 0.0 0.2 190676 23732 ? Sl 11 月 22 日 0:22 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock
用户1 18954 0.0 0.0 84984 1224 pts/4 S+ 11:36 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=my.cnf
user1 18980 0.0 0.2 190160 22860 pts/4 Sl+ 11:36 0:00 /usr/libexec/mysqld --defaults-file=my.cnf --basedir=/usr --datadir=/home/user1/opt/mysqld/data --pid-file=/home/user1/opt/mysqld/mysqld.pid --skip-external-locking --port=3307 --socket=/home/user1/opt/mysqld/mysql.sock
用户1 20148 0.0 0.0 82236 756 pts/2 S+ 12:15 0:00 grep mysql

netstat -lnp|grep mysql

tcp 0 0 0.0.0.0:3307 0.0.0.0:* 监听 18980/mysqld
unix 2 [ ACC ] 流侦听 153644 18980/mysqld /home/user1/opt/mysqld/mysql.sock
unix 2 [ ACC ] 流监听 8193 - /var/lib/mysql/mysql.sock

编辑:有两个 MySQL 实例。我想要一个在端口 3307 上的实例。mysqld_safe 以 user1 而非 root 身份运行,命令如下: mysqld_safe --defaults-file=my.cnf

答案1

mysql -P 3307 -u root也应该能起到作用。

答案2

啊,它必须使用套接字文件而不是端口。

mysql --socket=/home/user1/opt/mysqld/mysql.sock -uroot成功了。

相关内容