一、解压缩,好比到d:\,为了方便,改一下路径,好比mysql
二、开始/运行,输入cmd,回车进入命令行
d:
cd mysql\bin
安装mysql服务
mysqld.exe --install (默认服务名称是mysql或者mysqld.exe --install "mysql5"修改服务名称)
删除mysql服务
mysqld.exe --remove(或者mysqld.exe --remove "mysql5")
三、ini参数配置文件d:\mysql\
复制mysql-small.ini为my.ini
四、启动中止服务
a)在命令行启动/中止
net start mysql
net stop mysql
b)或者去控制面板找服务启动
c)或者开始/运行输入services.msc,肯定后,找到mysql启动css
原来只在进入 C:\Window 找到CMD.EXE 右键选择 以管理员身份 进行,再进入相应目录执行命令,一切就OVER 了。html
为何会出现这个问题呢?通过一番思考找到缘由了,是由于当前用户的操做权限过低了,出了问题mysql
出错问题截屏以下:linux
解决问题方法以下:nginx
在dos下运行net start mysql 不能启动mysql!提示发生系统错误 5;拒绝访问!切换到管理员模式就能够启动了。因此咱们要以管理员身份来运行cmd程序来启动mysql。sql
那么如何用管理员身份来运行cmd程序呢?shell
1.在开始菜单的搜索框张收入cmd,而后右键单击,并选择以管理员身份运行!数据库
若是天天都要启动mysql服务,这样不很麻烦?因此:windows
2.右键单击cmd选择“附到【开始】菜单(U)”;这是就能够到开始菜单上找到cmd了,centos
3.右击选择属性,选择快捷方式,再选择高级,在选择以管理员身份运行,再单击肯定便可!
之后只要打开开始菜单单击上面的快捷方式就能够以管理员的身份运行cmd了!
这样再输入net start mysql就不会出错了!
access denied for user 'root'@'%' to database xxxx的提示
错误的缘由是root用户在远程链接的MYSQL上面,没有这个新数据库的受权。在本地使用mysql应该不存在这个问题。
解决方法,执行受权:
grant all PRIVILEGES on xxxx.* to root@'%' identified by 'password' with grant option;
xxxx为建立的数据库,password为root的密码。请按实际要求进行更改。
安装完成却发现Myserver安装缺失,在网上找缘由,原来是由于CentOS 7上把MySQL从默认软件列表中移除了,用MariaDB来代替,因此这致使咱们必需要去官网上进行下载,找到连接,用wget打开:
a: #wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
b:rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@localhost mysql]# rpm -ivh mysql-community-release-el7-5.noarch.rpm 准备中... ################################# [100%] 正在升级/安装... 1:mysql-community-release-el7-5 ################################# [100%] [root@localhost mysql]# service mysqld start Redirecting to /bin/systemctl start mysqld.service Failed to start mysqld.service: Unit not found. [root@localhost mysql]
c.两次进行yum -y install mysql mysql-server mysql-devel,安装成功。再次使用该命令,而后获得如下信息
[root@localhost mysql]# yum -y install mysql mysql-server mysql-devel 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * epel: mirror01.idc.hinet.net * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com mysql-connectors-community | 2.5 kB 00:00:00 mysql-tools-community | 2.5 kB 00:00:00 mysql56-community | 2.5 kB 00:00:00 (1/3): mysql-connectors-community/x86_64/primary_db | 37 kB 00:00:00 (2/3): mysql-tools-community/x86_64/primary_db | 54 kB 00:00:00 (3/3): mysql56-community/x86_64/primary_db | 218 kB 00:00:01 正在解决依赖关系 --> 正在检查事务 ---> 软件包 mariadb.x86_64.1.5.5.60-1.el7_5 将被 取代 ---> 软件包 mariadb-server.x86_64.1.5.5.60-1.el7_5 将被 取代 ---> 软件包 mysql-community-client.x86_64.0.5.6.43-2.el7 将被 舍弃 --> 正在处理依赖关系 mysql-community-libs(x86-64) >= 5.6.10,它被软件包 mysql-community-client-5.6.43-2.el7.x86_64 须要 ---> 软件包 mysql-community-devel.x86_64.0.5.6.43-2.el7 将被 安装 ---> 软件包 mysql-community-server.x86_64.0.5.6.43-2.el7 将被 舍弃 --> 正在处理依赖关系 mysql-community-common(x86-64) = 5.6.43-2.el7,它被软件包 mysql-community-server-5.6.43-2.el7.x86_64 须要 --> 正在检查事务 ---> 软件包 mariadb-libs.x86_64.1.5.5.60-1.el7_5 将被 取代 ---> 软件包 mysql-community-common.x86_64.0.5.6.43-2.el7 将被 安装 ---> 软件包 mysql-community-libs.x86_64.0.5.6.43-2.el7 将被 舍弃 --> 解决依赖关系完成 ... ... ... 已安装: mysql-community-client.x86_64 0:5.6.43-2.el7 mysql-community-devel.x86_64 0:5.6.43-2.el7 mysql-community-libs.x86_64 0:5.6.43-2.el7 mysql-community-server.x86_64 0:5.6.43-2.el7 做为依赖被安装: mysql-community-common.x86_64 0:5.6.43-2.el7 替代: mariadb.x86_64 1:5.5.60-1.el7_5 mariadb-libs.x86_64 1:5.5.60-1.el7_5 mariadb-server.x86_64 1:5.5.60-1.el7_5 完毕! [root@localhost mysql]#
[root@localhost mysql]# service mysqld start Redirecting to /bin/systemctl start mysqld.service [root@localhost mysql]#
[root@localhost mysql]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.43 MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
service mysqld status
systemctl status mysqld.service(也是系统自动输出的,我这边全称是:Redirecting to /bin/systemctl status mysqld.service)
而后会输出一大段关于MySQL状态的信息:
[root@localhost bin]# service mysqld status Redirecting to /bin/systemctl status mysqld.service ● mysqld.service - MySQL Community Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since 四 2019-03-28 13:51:31 CST; 2min 1s ago Process: 52885 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS) Process: 52822 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS) Main PID: 52884 (mysqld_safe) Tasks: 23 Memory: 237.9M CGroup: /system.slice/mysqld.service ├─52884 /bin/sh /usr/bin/mysqld_safe --basedir=/usr └─53050 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --so... 3月 28 13:51:29 localhost.localdomain mysql-systemd-start[52822]: 2019-03-28 13:51:29 52860 [Note] InnoDB: Starting shutdown... 3月 28 13:51:30 localhost.localdomain mysql-systemd-start[52822]: 2019-03-28 13:51:30 52860 [Note] InnoDB: Shutdown completed; log sequence number 1625987 3月 28 13:51:30 localhost.localdomain mysql-systemd-start[52822]: PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! 3月 28 13:51:30 localhost.localdomain mysql-systemd-start[52822]: To do so, start the server, then issue the following commands: 3月 28 13:51:30 localhost.localdomain mysql-systemd-start[52822]: /usr/bin/mysqladmin -u root password 'new-password' 3月 28 13:51:30 localhost.localdomain mysql-systemd-start[52822]: /usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password' 3月 28 13:51:30 localhost.localdomain mysql-systemd-start[52822]: Alternatively you can run: 3月 28 13:51:31 localhost.localdomain mysqld_safe[52884]: 190328 13:51:31 mysqld_safe Logging to '/var/log/mysqld.log'. 3月 28 13:51:31 localhost.localdomain mysqld_safe[52884]: 190328 13:51:31 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 3月 28 13:51:31 localhost.localdomain systemd[1]: Started MySQL Community Server. [root@localhost bin]#
Mysql5.7默认安装以后root是有密码的。
为了增强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,若是安装的是RPM包,则默认是/var/log/mysqld.log。
只有启动过一次mysql才能够查看临时密码
grep 'temporary password' /var/log/mysqld.log(若是以前安装过MySQL则这里可能会有多个密码,用最后一个,注意这个密码输入时是能够粘贴的)
YdsGaxOq>2n!
使用默认的密码登录
mysql -uroot -p(这是一个MySQL的以密码登陆root用户的命令)
用该密码登陆到服务端后,必须立刻修改密码再执行一些数据库操做,否则会报以下错误:
mysql> select @@log_error; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql>
修改密码(注意,登陆后的操做后面都最好要有;结尾)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
若是密码设置太简单出现如下的提示
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
呢? 这里直接提供解决方案文末有详细的说明
必须修改两个全局参数:
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
再修改密码的长度
set global validate_password_length=1;
再次执行修改密码就能够了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';(ALTER等能够写成小写)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
2.八、mysql配置文件
linux版本是my.cnf,通常会放在/etc/my.cnf,/etc/mysql/my.cnf
win下的是my.ini,通常会在安装目录的根目录
但,我在/etc/或者/etc/mysql下也没找到my.cnf。
在这里找到了:
[root@target_pc etc]# find / -name my.cnf
/usr/my.cnf
咱们注意到,这里只说了修改 my.cnf,并无说清楚其绝对路径是哪一个文件。也就是说,有可能修改的不是正确路径下的my.cnf文件。
在MySQL中,是容许存在多个 my.cnf 配置文件的,有的能对整个系统环境产生影响,例如:/etc/my.cnf。有的则只能影响个别用户,例如:~/.my.cnf。
MySQL读取各个my.cnf配置文件的前后顺序是:
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
~/.my.cnf
其余自定义路径下的my.cnf,例如:/data/mysql/yejr_3306/my.cnf
不论是mysqld服务器端程序,仍是mysql客户端程序,均可以采用下面两个参数来自行指定要读取的配置文件路径:
-defaults-file=#, 只读取指定的文件(再也不读取其余配置文件)
-defaults-extra-file=#, 从其余优先级更高的配置文件中读取全局配置后,再读取指定的配置文件(有些选项能够覆盖掉全局配置从的设定值)
所以,能够看到,若是你修改的是非“著名”目录下的 my.cnf,有可能看起来是不生效的,须要自行指定,或者统一放在 /etc/my.cnf 下,采用多实例的方式来管理便可。
一、 开启mysql的binlog功能
开启binlog,而且将binlog的格式改成Row,这样就能够获取到CURD的二进制内容,
windows上的路径为:C:\ProgramData\MySQL\MySQL Server 5.7\my.ini。
linux上的路径为:/etc/my.cnf
[mysqld] #请放在[mysqld]下面,不然不生效 log-bin=mysql-bin #添加这一行就ok binlog-format=ROW #选择row模式 server_id=1
二、验证binlog是否开启
使用命令验证,而且开启binlog的过时时间为30天,默认状况下binlog是不过时的,这就致使你的磁盘可能会爆满,直到挂掉。
show variables like 'log_%';
log_bin | ON
三、设置binlog的有效期:
#设置binlog的过时时间为30天 mysql> show variables like '%expire_logs_days%'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | expire_logs_days | 0 | +------------------+-------+ 1 row in set (0.00 sec) mysql> set global expire_logs_days=30; Query OK, 0 rows affected (0.00 sec) mysql>
4、错误信息
错误信息1 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES)
错误信息2 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:NO)
mysql> show grants for 'root'@'localhost'; +---------------------------------------------------------------------+ | Grants for root@localhost | +---------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +---------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> select user,host from mysql.user; +-------+-----------------------+ | user | host | +-------+-----------------------+ | canal | % | | root | 127.0.0.1 | | root | ::1 | | | localhost | | root | localhost | | | localhost.localdomain | | root | localhost.localdomain | +-------+-----------------------+ 7 rows in set (0.01 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> show grants for 'root'@'%'; +--------------------------------------------------------------------------------------------------------------------------------+ | Grants for root@% | +--------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' WITH GRANT OPTION | +--------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> select user,host,password from mysql.user; +-------+-----------------------+-------------------------------------------+ | user | host | password | +-------+-----------------------+-------------------------------------------+ | root | localhost | | | root | localhost.localdomain | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | localhost.localdomain | | | canal | % | *E3619321C1A937C46A0D8BD1DAC39F93B27D4458 | | root | % | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +-------+-----------------------+-------------------------------------------+ 8 rows in set (0.00 sec) mysql>