今天正好有时间自己在环境下安装数据库,操作了一下,以供大家学习下,但是也有一写坑的地方
mysql官网下载地址
1、如果需要下载到本地的话,点击下载mysql-5.7.24至本地
2、如果是在linux服务器上操作的话,
我是进入cd /web目录, 使用下面的命令 下载安装包在服务器web目录下
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
然后使用tar命令将服务器下载好的安装包解压在当前目录
tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
再然后使用mv 重命名mysql安装目录
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7.24
groupadd mysql
useradd -r -g mysql mysql
useradd -r参数表示mysql用户是系统用户,不可用于登录系统
useradd -g参数表示把mysql用户添加到mysql用户组中
cd /web/mysql-5.7.24
chown -R mysql:mysql .
cd /web/mysql-5.7.24
mkdir data
cd /web/mysql-5.7.24
mkdir logs
echo "">mysql.log
5.7.6之后的版本初始化数据库不再使用mysql_install_db,而是使用: bin/mysqld --initialize
初始化命令如下
bin/mysqld --initialize --user=mysql --basedir=/web/mysql-5.7.24 --datadir=/web/mysql-5.7.24/data
其中 user 是启动mysql的用户,basedir 是mysql安装目录,datadir 是 mysql数据仓库目录
mysql 5.7版本初始化数据库后会默认生成一个初始的登录密码,第一次登录要使用初始密码
信息如下:
2018-10-24T05:46:33.446315Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-10-24T05:46:33.448636Z 0 [Warning] You need to use --log-bin to make --binlog-format work.
2018-10-24T05:46:34.733390Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-10-24T05:46:34.912448Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-10-24T05:46:34.979791Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 2ac659b8-d750-11e8-8fa1-fa163efff95f.
2018-10-24T05:46:34.982104Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-10-24T05:46:34.982589Z 1 [Note] A temporary password is generated for root@localhost: !+auH/*Ow7_j
2018-10-24T05:46:34.982589Z 1 [Note] A temporary password is generated for root@localhost: !+auH/*Ow7_j
root@localhost: 后面的一字符串串 !+auH/*Ow7_j 就是后面登录的时候要用到的
chown -R root .
chown -R mysql data
mysql 5.7.24版本 mysql-5.7.24/support-files/下不存在my-default.cnf文件,需要在/etc/目录下创建my.cnf,并写入以下内容
basedir = /web/mysql-5.7.24/
datadir = /web/mysql-5.7.24//data
port = 3306
socket = /web/mysql-5.7.24/data/mysql.sock
log-error=/web/mysql-5.7.24/logs/mysql.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
cd /web/mysql-5.7.24/support-files/
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
如果不按照上述操作,就只能使用{mysql}/bin/mysqld_safe & 命令来启动服务
chkconfig --add mysql
chkconfig --list mysql
serivce mysql start
service mysql stop
cd /web/mysql-5.7.24/bin
./mysql -u root -p
执行 ./mysql -u root -p 会要求输入密码
密码就是在初始化数据库时生成的密码
mysql> set password=password("新密码");
mysql> flush privileges;
cd /web/mysql-5.7.24/bin
./mysql -u root -p
###登录mysql数据库后
mysql> use mysql
mysql> select host,user from user;
mysql> update user set host = '%' where user = 'root';
mysql> FLUSH PRIVILEGES;
FLUSH PRIVILEGES; 命令使刚才的修改生效,刷新先前的修改。
这样就可以用数据库连接工具远程连接了