可通过远程工具navicat连接或在app服务器安装目录下运行mysql -u root -p
linux安装准备和一些报错:
1.安装数据库
下载mysql源:wget http://repo.mysql.com/mysql80-community-release-el7-1.noar
ch.rpm
或者无网络访问http://repo.mysql.com手动下载
ls查看安装包
安装mysql源
yum -y install mysql80-community-release-el7-1.norch.rpm
//yum install 和rpm -ivh都可进行安装,此时两者实质是一样的
安装mysql数据库
yum -y install mysql-community-server
service mysqld start
service mysqld start
报错总结:
yum -y install mysql-community-server安装数据库报错。解决方法:yum -y install mysql-community-server --nogpgcheck
2.远程连接配置
首先,修改配置文件my.cnf,windows为my.ini,修改数据库安装包内配置文件my.cnf注释掉#bind-address=127.0.0.1
然后,修改数据库
update user set host="%" where user ="root";
可能会提示:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'不予理会,之后刷新权限,重启数据库即可进行远程连接。
select host, user from user;
root用户有%就允许root用户远程登录
flush privileges
必须刷新权限,之后要重启数据库,不重启数据库否则会只有一个数据库,如下:
3.ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
报socket错修改根目录文件/etc/my.cnf,先查看app安装文件内mysql数据库的配置文件my.cnf内的sock,添加到/etc/my.cnf
此问题还有另外一个解决方法:给找不到的文件建立一个软链接,软链接于app服务器的my.cnf配置文件里的socket地址
ln -s my.cnf已知sock地址 /var/lib/mysql/mysql.sock
4.ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
密码报YES错可以修改数据库内配置文件my.cnf忽略密码
进入mysql安装目录
编辑my.cnf
在[mysqld]下添加skip-grant-tables,保存立即生效。
可以再修改数据密码重新登录即可解决
修改密码举例:
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
5.
上面这个问题是安装完成后,直接输入mysql,不用输入密码能直接登录,但是登陆后只能看见一个库information_schema
解决方法:先修改配置文件忽略密码,在[mysqld]下添加skip-grant-tables,重启mysql服务,再登录,show databases;可以看到全部三个库。还原文件,又只剩一个库了。
这个问题原因是新建一个数据库用户,即新建了一个数据库实例,只有一个库
6.新建数据库实例,其他应用程序调用数据库,进行初始化
- 新建用户
使用 CREATE USER 创建一个用户,用户名是 test1,密码是 test1,主机名是 localhost。SQL 语句和执行过程如下。
mysql> CREATE USER 'test1'@'localhost' IDENTIFIED BY 'test1'; Query OK, 1 rows affected (0.06 sec)
在 MySQL 中,可以使用 password() 函数获取密码的哈希值,查看 test1 哈希值的 SQL 语句和执行过程如下:
mysql> SELECT password('test1'); +-------------------------------------------+ | password('test1') | +-------------------------------------------+ | *06C0BF5B64ECE2F648B5F048A71903906BA08E5C | +-------------------------------------------+ 1 row in set, 1 warning (0.00 sec)
“*06C0BF5B64ECE2F648B5F048A71903906BA08E5C”就是 test1 的哈希值。下面创建用户 test1,SQL 语句和执行过程如下:
mysql> CREATE USER 'test1'@'localhost'IDENTIFIED BY PASSWORD '*06C0BF5B64ECE2F648B5F048A71903906BA08E5C'; Query OK, 0 rows affected, 1 warning (0.00 sec)
- 新建数据库
create database testdb default charset="gbk";
- 开放数据库权限
(用户名:dba1,密码:dbapasswd,登录IP:192.168.0.10)
//开放管理MySQL中所有数据库的权限
grant all on *.* to dba1@'192.168.0.10'identified by "dbapasswd";
//开放管理MySQL中具体数据库(testdb)的权限
grant all privileges on testdb to dba1@'192.168.0.10'identified by "dbapasswd";
或
grant all on testdb to dba1@'192.168.0.10'identified by "dbapasswd";
//开放管理MySQL中具体数据库的表(testdb.table1)的权限
grant all on testdb.teable1 to dba1@'192.168.0.10'identified by "dbapasswd";
//授权远程访问
grant all on *.* to dba1@'%'identified by "dbapasswd";
必须刷新权限
flush privileges;
- 重启计算机或重启数据库(注意必须重启,否则不能初始化)
以下windows安装报错问题
net start/stop mysql
1.
到MySQL的安装目录下找到my.ini,用编辑器打开,找到default-storage-engine=INNODB,将INNODB修改为MYISAM,修改引擎
再启动服务即可net start mysql
2.
打开mysql安装目录, 在配置文件mysql.ini的后面添加一行:
skip-grant-tables
重启mysql服务即可生效net restart mysql
3.关于cmd命令提示符问题
上述报错输入set names gbk;即可解决。cmd的问题,navicate可以增加数据。
4.服务无法启动,启动出错,cmd命令提示符以管理员身份打开
其他报错:
group等关键词查询时提示语法错误,加上反引号`可以解决提示错误