安装Mysql

Ubuntu下安装mysql

数据库服务位置:MySQL Server

数据库数据文件位置:Server data file

安装时的配置会体现在 my.ini文件中。该文件在数据库服务所在路径下。 找到配置文件修改保存。 要想生效需要重启数据库(重启服务即可)

删除 mysql

  • sudo apt-get autoremove –purge mysql-server-5.0

  • sudo apt-get remove mysql-server

  • sudo apt-get autoremove mysql-server

  • sudo apt-get remove mysql-common //这个很重要

    上面的其实有一些是多余的。

清理残留数据

  • dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P

安装 mysql

  • sudo apt-get install mysql-server

  • sudo apt-get install mysql-client

  • sudo apt-get install php5-mysql // 安装php5-mysql 是将php和mysql连接起来

    一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:

    sudo netstat -tap | grep mysql

当您运行该命令时,您可以看到类似下面的行:

tcp 0 0 localhost.localdomain:mysql *:* LISTEN -

如果服务器不能正常运行,您可以通过下列命令启动它:

  • sudo /etc/init.d/mysql restart

centos下安装mysql

相关地址: repo.mysql.com 包含所有的mysql版本

安装步骤

# 下载mysql的repo源
wget http://repo.mysql.com/mysql57-community-release-el7.rpm
# 安装源
rpm -ivh mysql57-community-release-el7.rpm
# 安装mysql
yum install mysql-server
# 启动mysql
systemctl start mysqld
# 判断启动是否成功 如果显示active(running)代表正在运行
systemctl status mysqld

设置mysql开机启动:

systemctl enable mysqld
systemctl daemon-reload

mysql5.7开始,默认账号的root密码位于日志中:

grep 'temporary password' /var/log/mysqld.log

使用默认密码登录root后,修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

mysql有密码验证策略,如果密码不安全,则会抛出 ERROR 1819 (HY000),可以将密码设置的更复杂,或者指定密码策略:

#/etc/my.cnf
validate_password_policy=off

修改完成后重启:

systemctl restart mysqld

赋权操作,mysql默认只允许localhost登录:

grant all privilieges on *.* to 'root'@'%' identified by 'root' with grant option;
# %代表任何host都可以登录。

默认安装后的几个文件

  1. 数据文件以及二进制文件:/var/lib/mysql

  2. 配置文件: /etc/my.cnf

  3. 日志文件:/var/log/mysql.log

docker mysql 8.0 arm/amd个人测试

docker run --name mysql --rm -P 3306:3306 mysql/mysql-server:latest

查询mysql密码:

docker logs mysql 2>&1 | grep GENERATED

连接mysql:

docker exec -it mysql mysql -uroot -p

修改mysql密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

创建可远程连接的用户:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;
CREATE USER 'user1'@'%' IDENTIFIED BY 'user1';
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

docker mysql 5.7 Arm64 个人测试

docker run -p 3307:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=root -d ibex/debian-mysql-server-5.7

连接mysql:

docker exec -it mysql5.7 mysql -uroot -p

最后更新于