mysql服务器数据库

可通过远程工具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等关键词查询时提示语法错误,加上反引号`可以解决提示错误

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值