我想在redhat上安装一个mysql服务器5.7,在shell脚本中使用自定义用户名和密码。
对于ubuntu,我看到一个3行命令,如下所示,我希望用一种简单的方式为redhat提供相同的方法
echo "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD" | debconf-set-selections
echo "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD" | debconf-set-selections
apt -y install mysql-server
更新1:-
newPassword=root
echo "Stopping mysql..."
systemctl stop mysqld
echo "Setting the mySQL environment option.."
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
echo "Starting mysql ignoring password verification.."
systemctl start mysqld
echo "Updating the root user password with your provided password"
echo "UPDATE mysql.user SET authentication_string = PASSWORD('$newPassword') WHERE User = 'root' AND Host = 'localhost';" | mysql -u root
echo "FLUSH PRIVILEGES;" | mysql -u root
echo "Stopping mysql.."
systemctl stop mysqld
echo "Un setting the mySQL environment option so it starts normally next time.."
systemctl unset-environment MYSQLD_OPTS
echo "Start mysql normally.."
systemctl start mysqld
我试过上面的答案。效果很好。但在用更新的密码登录mysql之后。我看到以下错误
mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.21
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> exit
请让我知道如何解决这个问题
1条答案
按热度按时间af7jpaap1#
在redhat中,首先为mysql创建用户帐户。例如
user:mysql
以及password:blablabla
和默认登录path:/app/mysql/
. 完成后,以mysql用户身份登录并在.bash\u profile中设置必要的设置,最后安装mysql。希望这对你有帮助。