Linux下安装mysql以及配置用户与数据导入

来源:互联网 发布:php 数组长度函数 编辑:程序博客网 时间:2024/06/07 09:10

Linux下安装mysql以及配置用户与数据导入

  1. yun安装mysql
    linux下有一个很神奇的东西叫yum,只要有源,用yum来安装是一件非常容易的事,什么都不用管,它会为你解决好一些软件依赖的问题。一键安装mysql:
    yum install mysql-server mysql-devel
    mysql的主要配置文件信息:
[root@localhost ~]# cat /etc/my.cnf [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid

datadir=/var/lib/mysql是mysql数据库的数据库文件存放位置,我刚才新建的数据库db也在这个目录下。log-error=/var/log/mysqld.log是数据库输出的日志,数据库日志也是在/var/log目录下。mysql默认的监听端口是3306。

安装好mysql后,mysql会自动提供一个空密码的root用户,这个root不是linux的root,而空密码的root用户可以这样登录:mysql -u root没有后面的-p,-u是指用户,-p是指通过密码登录,然后就会提示输入密码。由于安全起见,刚开始应修改密码为一个非空密码,也可以避免以后操作的出错,因为我遇到了好几个问题都是和空密码有联系的。root修改密码:

将root的密码改为123,因为我是已经改过root密码的,所以这里要加上-p还得输入原来的密码。
2. 新建用户
当然除了root还可以有其他的用户,mysql中用户管理是通过一张表mysql.user,其实这也就是一张数据库表,也是可以通过sql语句来操作的,新建用户有两种方式:

mysql> select user, password from mysql.user;      +------+-------------------------------------------+| user | password                                  |+------+-------------------------------------------+| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 || root | root                                      || root | root                                      || user | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |+------+-------------------------------------------+4 rows in set (0.00 sec)mysql> grant all on *.* to "test"@"localhost" identified by "123";Query OK, 0 rows affected (0.00 sec)mysql> insert into mysql.user(Host, User, Password) values("localhost", "sqluser", password("123"))ser", password("123"));Query OK, 1 row affected, 3 warnings (0.05 sec)mysql> select user, password from mysql.user;                                                       +---------+-------------------------------------------+| user    | password                                  |+---------+-------------------------------------------+| root    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 || root    | root                                      || root    | root                                      || user    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 || test    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 || sqluser | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |+---------+-------------------------------------------+6 rows in set (0.01 sec)

第一种方式是grant,可以给用户指定权限,all代表所有的权限,可以改成别的如select,insert,update,delete,后面的.代表是所有的数据库都有权限,一般格式为:数据库名.,test是用户名,123是密码,localhost代表匹配的主机,也可改为别的,如”“,空的,代表所有主机。而第二种方式为直接修改数据库表,但是没有指定权限,为了安全起见,应该给用户相应的权限。查看user信息也是一条sql语句,当然还可以用过select from mysql.user;查看更多的信息,这里的密码是经过加密的。删除用户也就是sql语句:delete from mysql.user where user=’XXX’;。

当然这样还不行,在操作完user表后,还得加上一条命令flush privileges;刷新系统权限表,不然就算添加的用户也不能用,删除的用户也可以登录。
http://www.2cto.com/database/201405/298281.html

  1. 授权所有用户访问
mysql -u  root -pmysql>grant all privileges on  *.*  to root@'%'  identifies  by ' xxxx';

http://blog.csdn.net/xc635960736/article/details/7581342

  1. 数据库导入
    方法1:通过navicat工具栏,选择结构同步再数据同步即可
    方法2:找到数据库的数据库文件,data目录下的数据库文件,直接复制粘贴到目标数据库的相同目录下。
    这里写图片描述