参考:
https://dev.mysql.com/downloads/installer/
https://downloads.mysql.com/archives/installer/
Tip:基本上默认安装就可以,下面截图仅做参考。
选择 Server only
如果出现 MySQL Server,则选中,并点击【execute】,安装完成之后单选框变成绿色
确认MySQL安装成功的唯一标志 1.在系统服务中能找到MySQL5.7.30 2.能正常启动和停止服务
参考:
https://downloads.mysql.com/archives/
https://downloads.mysql.com/archives/community/
在mysql解压目录下,创建 my.ini 文件,并写入以下内容
[mysqld]
basedir ="D:\mysql\mysql-8.0.12-winx64"
datadir ="D:\mysql\mysql-8.0.12-winx64\data"
port=3306
server_id =10
character-set-server=utf8
character_set_filesystem=utf8
[client]
port=3306
default-character-set=utf8
[mysqld_safe]
timezone="CST"
[mysql]
default-character-set=utf8
以管理员身份打开 cmd,进入 mysql安装目录\bin
,执行以下命令
# 添加名为mysql的windows服务(默认开机启动)
# windows服务名称不区分大小写
mysqld --install mysql
添加名为mysql的windows服务(手动启动):
mysqld --install-manual mysql
删除名为mysql的windows服务:
mysqld --remove mysql
接着在 mysql安装目录\bin
执行以下命令
mysqld --initialize --user=root --console
# 启动服务
net start mysql
# 关闭服务
net stop mysql
参考:
#查询mysql、mariadb软件包并删除
rpm -qa | grep mysql | xargs rpm -e --nodeps
rpm -qa | grep mariadb | xargs rpm -e --nodeps
在这个页面 https://dev.mysql.com/downloads/repo/yum/ 中,根据操作系统版本,选择【Download】
右键复制 rpm 链接
#安装yum源
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
#安装 yum-utils 工具
yum install -y yum-utils
# 查看所有的msyql
yum repolist all | grep mysql
# 禁用80版本
yum-config-manager --disable mysql80-community
# 启用57版本
yum-config-manager --enable mysql57-community
yum install -y mysql-community-server
待命令执行结束,安装即完成
#启动 mysql 服务:
service mysqld start
#查看 mysql 服务状态:
service mysqld status
验证 mysql -v
#查看初始密码
grep 'temporary password' /var/log/mysqld.log
#修改密码
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
#授权远程连接,让任何主机都能以root登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourNewPassword' WITH GRANT OPTION;
#刷新权限
FLUSH PRIVILEGES;
其中第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问; ‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
注意:如果是阿里云服务器,还去阿里账号,给服务器实例添加一个安全组规则,运行外网地址访问3306端口。
CentOS 7 使用 systemctl 命令工具操作服务:
#开机启动
systemctl enable mysqld
Tip: 由于使用yum无法指定具体的小版本,比如 5.7.30,却想要 30 参考:
#查询mysql、mariadb 软件包,并删除
rpm -qa | grep mysql | xargs rpm -e --nodeps
rpm -qa | grep mariadb | xargs rpm -e --nodeps
解压
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local
解压后的文件夹名太长,重命名一下
mv /usr/local/mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql
groupadd mysql
创建用户,-r参数表示mysql是系统用户,不可用于登录系统,创建用户mysql并将其添加到用户组mysql中
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
vim /etc/my.cnf
配置内容如下,也可以添加其他需要的配置:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
#不区分大小写
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=5000
default-time_zone = '+8:00'
手动创建配置的目录
touch /var/log/mysqld.log
chmod 777 /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log
先安装这个东西,否则初始化可能会报错(不用好像也可以)
yum install libaio
最后初始化数据库(这个过程有点慢)
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
最后的最后,查看一下初始密码
grep 'temporary password' /var/log/mysqld.log
最后一行“root@localhost”后面的就是初始密码。
启动服务
/usr/local/mysql/support-files/mysql.server start
Starting MySQL. [ OK ]
将mysql目录添加到环境变量中 vim /etc/profile
#mysql
export PATH=/usr/local/mysql/bin/:$PATH
执行 source /etc/profile
使配置生效
进入mysql
mysql -uroot -p
Enter password:
修改初始密码
mysql> alter user user() identified by "dx3906";
授权远程登录(让任意主机都可以以root身份登录)
mysql> use mysql;
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
也可以这样授权:
# 这里的密码最好和前面设置的一致
mysql>grant all privileges on *.* to root@'%' identified by 'dx3906';
mysql> flush privileges;
其中第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
注意:如果是阿里云服务器,还去阿里账号,给服务器实例添加一个安全组规则,运行外网地址访问3306端口。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld status|start|stop|restart
查看mysqld服务运行状态
[root@izm5e266m87jhndvihw6tuz support-files]# service mysqld status
MySQL running (21213) [ OK ]