gpt4 book ai didi

mysql - 使用bash脚本安装MySQL数据库后无法登录

转载 作者:行者123 更新时间:2023-11-30 00:52:20 24 4
gpt4 key购买 nike

我已通过 SSH 连接到远程 CentOS 计算机,并运行以下脚本来安装 MySQL 数据库:

# install and start mysql
yum -y install mysql-server
service mysqld start

# setup some random passwords
USER_PASS=`openssl rand -base64 8`
ROOT_PASS=`openssl rand -base64 12`

# create an SQL file to be executed for
# changing root password, setting up new user, create new database etc.

echo "UPDATE mysql.user SET Password=PASSWORD('$ROOT_PASS') WHERE User='root';" > /tmp/init.sql
echo "DELETE FROM mysql.user WHERE User='';" >> /tmp/init.sql
echo "DROP DATABASE test;" >> /tmp/init.sql
echo "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';" >> /tmp/init.sql
echo "CREATE DATABASE testdb;" >> /tmp/init.sql
echo "CREATE USER 'testusr'@'127.0.0.1' IDENTIFIED BY '$USER_PASS';" >> /tmp/init.sql
echo "CREATE USER 'testusr'@localhost IDENTIFIED BY '$USER_PASS';" >> /tmp/init.sql
echo "GRANT ALL PRIVILEGES ON testdb.* TO 'testusr'@'127.0.0.1';" >> /tmp/init.sql
echo "GRANT ALL PRIVILEGES ON testdb.* TO 'testusr'@'localhost';" >> /tmp/init.sql
echo "flush privileges;" >> /tmp/init.sql

# execute the SQL file from root user
cat /tmp/init.sql | mysql -u root

此后,每当我尝试使用上面创建的 testusr 用户本地登录时,我都会收到“访问被拒绝”消息。但是 root 登录(使用新设置的 root 密码)似乎可以工作。我在这里缺少什么?

最佳答案

为什么不使用 mysqladmin 来创建用户(因为它是 CentOS)

mysqladmin -uroot 密码 rootpwd

mysqladmin -utest 密码 testpwd

这将为您创建用户

稍后可以处理授予特权

关于mysql - 使用bash脚本安装MySQL数据库后无法登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20862317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com