MYSQL:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz 下载地址:https://dev.mysql.com/downloads/file/?id=482726 #如果是centos7,需要先卸载系统自带的Mariadb [root@localhost ~]# rpm -qa|grep mariadb mariadb-libs-5.5.52-1.el7.x86_64 [root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64 #检查mysql是否存在 [root@localhost ~]# rpm -qa | grep mysql #检查mysql组和用户是否存在,如无创建 [root@localhost ~]# cat /etc/group | grep mysql [root@localhost ~]# cat /etc/passwd | grep mysql #创建mysql用户组 [root@localhost ~]# groupdel mysql [root@localhost ~]# groupadd mysql #创建一个用户名为mysql的用户并加入mysql用户组 [root@localhost ~]# userdel mysql [root@localhost ~]# useradd -g mysql mysql #解压到指定文件夹下(一般放在/usr/local/下) [root@localhost local]# tar -vxzf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz #重命名为mysql [root@localhost local]# mv mysql-5.7.21-linux-glibc2.12-x86_64/ /usr/local/mysql/ #更改所属的组和用户 [root@localhost ~]# cd /usr/local/ [root@localhost local]# chown -R mysql mysql/ [root@localhost local]# chgrp -R mysql mysql/ #在mysql文件夹下创建数据库数据存储目录data,也可以创建在其他位置 [root@localhost local]# cd mysql/ [root@localhost mysql]# mkdir data [root@localhost mysql]# chown -R mysql:mysql data #在etc下新建配置文件my.cnf,并在该文件内添加以下配置 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #skip-name-resolve # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data #datadir=/data/mysql # 允许最大连接数 max_connections=2000 socket=/var/lib/mysql/mysql.sock #log-error=/var/log/mysqld.log #pid-file=/var/run/mysqld/mysqld.pid # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB lower_case_table_names=1 innodb_buffer_pool_size = 1G # (adjust value here, 50%-70% of total RAM) innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 1 # may change to 2 or 0 innodb_flush_method = O_DIRECT [client] sport=3306 socket=/var/lib/mysql/mysql.sock #在/var/lib 文件夹下面创建 mysql 文件夹,如果不存在的话 [root@localhost mysql]# mkdir /var/lib/mysql [root@localhost mysql]# chown -R mysql:mysql /var/lib/mysql #安装和初始化 [root@localhost mysql]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 2018-12-17 20:15:37 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2018-12-17 20:15:41 [WARNING] The bootstrap log isn't empty: 2018-12-17 20:15:41 [WARNING] 2018-12-17T12:15:38.240438Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead 2018-12-17T12:15:38.281730Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000) 2018-12-17T12:15:38.281756Z 0 [Warning] Changed limits: table_open_cache: 407 (requested 2000) #将脚本文件设置成可执行文件 [root@localhost mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld [root@localhost mysql]# chown 777 /etc/my.cnf [root@localhost mysql]# chmod a+x /etc/init.d/mysqld [root@localhost mysql]# /etc/init.d/mysqld restart ERROR! MySQL server PID file could not be found! Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'. . SUCCESS! [root@localhost mysql]# killall mysqld [root@localhost mysql]# /etc/init.d/mysqld start Starting MySQL. SUCCESS! [root@localhost mysql]# /etc/init.d/mysqld restart Shutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS! #设置开机启动 [root@localhost mysql]# chkconfig --level 35 mysqld on [root@localhost mysql]# chkconfig --list mysqld 注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。 欲查看对特定 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld [root@localhost mysql]# chkconfig --add mysqld [root@localhost mysql]# chkconfig --list mysqld [root@localhost mysql]# service mysqld status SUCCESS! MySQL running (6272) #编辑 vi /etc/profile #在文本最后添加系统环境变量 export PATH=$PATH:/usr/local/mysql/bin [root@localhost mysql]# source /etc/profile #获得初始密码 [root@localhost mysql]# cat /root/.mysql_secret # Password set for user 'root@localhost' at 2018-12-17 20:15:37 xkfMyFyH4gjv //这就是初始密码 #修改密码
登录之后: mysql> set password for 用户名@localhost = password('新密码'); //修改用户密码 #添加远程访问权限 mysql> use mysql mysql> select host,user from user; ERROR 1046 (3D000): No database selected mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select host,user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 4 rows in set (0.00 sec) #新建授权账户,这里 @'%' 表示在任何主机都可以登录,testRoot是mysql用户名,pwd123123是密码 mysql> GRANT ALL ON *.* TO testRoot@'%' IDENTIFIED BY 'pwd123123' WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; mysql> select host,user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | testRoot | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 4 rows in set (0.00 sec) mysql> exit; Bye #重启mysql systemctl restart mysqld.service systemctl start mysqld.service //启动 systemctl stop mysqld.service//关闭 ![]() ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:彼岸花科技,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |