Linux下安装
1.离线安装
1. 查看之前的版本:
rpm -qa|grep mysql
2.卸载已有mysql
rpm -e 软件名 --nodeps
3.安装MySQL
1) 切换/root/ituser目录下 (此目录下应当放有)
2) rpm -ivh *.rpm
3) 或者
rpm -ivh MySQL-server-5.5.28-1.linux2.6.x86_64.rpm --nodeps --force
rpm -ivh MySQL-client-5.5.28-1.linux2.6.x86_64.rpm
(-ivh :安装显示安装进度–install–verbose–hash)
- 启动或停止mysql服务器
service mysql start
service mysql stop - 设置root帐号密码
1)/usr/bin/mysqladmin -u root password ‘1234’
2) 或者 --MySQL安全配置向导 mysql_secure_installation(注意:删除匿名用户,允许用户远程连接) - 虚拟机内部登录mysql
- 远程主机访问,设置防火墙
打开防火墙配置
vim /etc/sysconfig/iptables
设置内容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重启服务器
service iptables restart - 使用mysql语句创建远程登录用户
use mysql;
select user,host,password from user;
create user ‘root’@’%’ identified by ‘1234’; #创建用户,并设置密码
grant all on . to ‘root’@’%’ with grant option; #给指定的用户授权
flush privileges; #刷新权限
2.在线安装
mysql
yum install mysql mysql-server mysql-devel
完成后,用 /etc/init.d/mysqld start 启动mysql
启动mysql控制台:
mysql
mysql>; USE mysql;
mysql>; UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root';
mysql>; FLUSH PRIVILEGES;
允许远程登录
mysql -u root -p
Enter Password: <your new password>
mysql>GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
完成后就能远程管理mysql了。
mysql服务名字 service mysqld start
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
-
修改字符集
1.复制 my.cnf 文件到 /usr 目录下 修改my.cnf 如下: [mysqld] init_connect = 'SET NAMES utf8' character-set-server = utf8 collation-server =utf8_general_ci sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 2.重启mysql 服务 service mysql restart
4.永久关闭防火墙
1.service iptables stop
2.chkconfig iptables off
3.service iptables status
``
执行完毕1,2,3后
显示 Firewall is not running 即可
Windows下环境安装
- 环境准备
- mysql-5.6.19-winx64 [^免安装版官网下载方法];
- Windows10;
- 服务器或者本机的管理员权限
- 环境变量配置
- 在Path路径下添加 D:\mysql-5.6.19-winx64\bin 注意不要有空格
- 修改配置文件
- 在解压包D:\mysql-5.6.19-winx64 路径下有一个 my-default.ini 文件,将其复制一份并且将其重命名为my.ini
- 修改my.ini 在节点[mysqld]节点下面增加两个配置信息 其中 basedir = 指向MySQL目录,datadir指向 MySQL的数据库存储目录,Port 端口设定为3306,服务端设置为utf-8
- 修改结果如下
[mysqld]
port=3306
character_set_server=utf8
basedir=D:\mysql-5.6.19-winx64
datadir=D:\mysql-5.6.19-winx64\data
- 安装/卸载MySQL服务
- 安装:进入MySQ安装目录bin目录下目录执行命令 mysqld install
- 卸载:进入MySQ安装目录bin目录下目录执行命令 mysqld remove
5.启动/停止MySQL服务
- 方法一:
- 在【控制面板】【管理工具】的【服务】里面按F5刷新一下,可以看到MySQL 服务
- 可以直接点击启动/停止 服务
- 方法二:
在CMD下执行命令
启动:net start mysql
停止:net stop mysql
- 设置root用户的密码
- 进入MySQ安装目录bin目录下目录执行命令说明
mysql -u root -p
回车之后不用输入密码即可进入MySQL,使用show databases;(注意:这里有分号)可以查看到MySQL中的所有数据库 - 设置密码的三种方式
1. grant all on . to ‘root’@‘localhost’ identified by ‘123456’(推荐);
2. set password for ‘root’@‘localhost’ = password(‘123456’);
3. 在用户表user表中插入名字和密码
insert into mysql.user(host,user,password) values (‘localhost’,‘eoi’,password(‘123’));
grant all privileges on eoidb.* to ‘eoi’@’%’ identified by ‘123’ with grant option; - 设置完毕密码后记得刷新一下
flush priviliges;
- 重置MySQL密码
-
在my.ini 文件[mysqld]节点下面新增
explicit_defaults_for_timestamp=true
否则会报错 2019-08-07 10:37:14 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details)
-
停止mysql服务
-
CMD窗口下进入MySQL安装目录bin目录下面 执行命令
mysqld --skip-grant-tables
-
另起一个CMD窗口执行如下命令**
mysql -u root -p
直接回车不需要输入密码
-
修改密码
1.执行 use mysql
2.执行 update user set password = password(‘abc’) where user = ‘root’ -
停止mysqld 服务
-
重新启动mysql服务
8.中文乱码原因
客户端(命令行)和MySQL数据库服务器(包含客户端和服务端)的客户端的字符编码不一致
[官网下载方法]: 官网地址:http://www.mysql.com/ 依次找到 Downloads->Community-> MySQL Community Downloads -> MySQL Community Server
[目录]: D:\mysql-5.6.19-winx64\bin
[说明]: 新用户没有密码,可以直接回车