Hero Image
搭建数据库

Docker-Mysql 1. 新建数据库 sudo docker pull mysql 2. 启动数据库 --name your-mysql-container:指定容器的名称。 -e MYSQL_ROOT_PASSWORD=yourpassword:设置 MySQL 的根用户密码(替换为你想要的密码)。 -p 3306:3306:将主机的 3306 端口映射到容器的 3306 端口。 -d:以分离模式运行容器。 sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=数据库密码 -p 3306:3306 -d mysql 3. 备份数据库 mysqldump -u your_username -p your_database_name > database_backup.sql 4. 注意事项 安装Mysql后设置lower_case_table_names属性报错 在MySQL8.0版本中,必须在初始化MySQL服务器之前将lower_case_table_names设置为所需要的值,这需要在首次启动MySQL服务器之前在MySQL配置文件中设置lower_case_table_names。但是在使用ubuntu的apt源安装MySQL时,系统会自动配置并启动MySQL服务器,这就需要在安装前提前设置好配置文件。具体操作步骤如下: <!--设置 Mysql 初始化环境--> sudo mkdir/etc/mysql/mysql.conf.d sudo vim mysqld.cnf <!--编辑mysqld.cnf文件--> [mysqld] # 0[Linux默认]:区分大小写; # 1[Windows默认]:不区分大小写; # 2[Mac默认]:存储时区分大小写,比较时不区分大小写。 lower_case_table_names=1 innodb_log_file_size = 512M innodb_strict_mode = 0 sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION" <!--安装Mysql,在安装过程中会提示存在配置文件,此时选择‘N’选项采用已经存在的配置文件--> sudo apt install mysql-server <!--Mysql配置,可根据需求设定--> sudo mysql_secure_installation <!--设置root账号密码,第一次设置时默认无密码,直接进入mysql--> sudo mysql -u root <!--登录后设置root密码--> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysql密码'; <!--刷新设置--> FLUSH PRIVILEGES; <!--重启Mysql服务--> sudo systemctl restart mysql <!--使用密码登录root账号--> sudo mysql -u root -p <!--输入密码--> <!--进入Mysql环境--> 设置用户可以远程登录MySQL <!--使用密码登录root账号--> sudo mysql -u root -p <!--输入密码--> <!--进入Mysql环境--> <!--设置root用户可远程访问--> UPDATE mysql.user SET Host='%' WHERE User='root' AND Host='localhost'; <!--刷新权限--> FLUSH PRIVILEGES; <!--查看权限--> SELECT Host, User FROM mysql.user; ubuntu18.04 安装mysql8.0报错 错误:1 http://repo.mysql.com/apt/ubuntu bionic InRelease 由于没有公钥,无法验证下列签名: NO_PUBKEY B7B3B788A8D3785C 解决办法: 切换为交大源。 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C ERROR 1819 (HY000): Your password does not satisfy the current policy requirements SHOW VARIABLES LIKE 'validate_password%'; SET GLOBAL validate_password.policy = LOW; -- 选择 LOW, MEDIUM 或 STRONG SET GLOBAL validate_password.length = 6; -- 设置最小长度 ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword123!'; 忘记密码 停止mysql服务 sudo systemctl stop mysql 启动 MySQL 的安全模式 sudo mysqld_safe --skip-grant-tables & 使用 root 登录 MySQL mysql -u root 修改密码 USE mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; 退出并重启mysql服务 sudo systemctl start mysql