M ySQL是一个关系型数据库管理系统,由瑞典MySQLAB 公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB 应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件。
0 1 ubuntu服务端安装配置
■ 网络情况介绍
Ubuntu ip:192.168.0.223 (myslq服务端)
开发板 ip:192.168.0.232 (mysql客户端)
■ Ubuntu服务器安装mysql服务
sudo apt-get install mysql-server
sudo apt-get install mysql-client
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功。
0 2 检查mysql的网络服务是否开启
■ sudo netstat -tap | grep mysql
如果看到有 mysql的socket处于listen 状态则表示安装成功
■ 本地登陆验证
密码设置是 123456
mysql -h127.0.0.1 -uroot -p123456
-h表示远程主机的ip地址 -u表示选择登陆的用户名,-p表示登陆的用户密码, 上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
? 注意: -h与后边的远程主机ip一定要紧接着,不能有空格;-u后边的用户名与紧接着,不能有空格,-p与后边的用户名要紧接着,不能有空格。
然后通过 show databases ; 就可以查看当前的数据库。
mysql>show databases;
+--------------------+
|Database |
+--------------------+
|information_schema |
|mysql |
|performance_schema |
+--------------------+
3rows in set (0.00 sec)
我们选择mysql数据库就行下一步操作,使用 use mysql 命令,显示当前数据库的表单: show tables 。
mysql>use mysql;
Database changed
mysql>show tables;
+---------------------------+
|Tables_in_mysql |
+---------------------------+
|columns_priv |
|db |
|event |
|func |
|general_log |
|help_category |
|help_keyword |
|help_relation |
|help_topic |
|host |
|ndb_binlog_index |
|plugin |
|proc |
|procs_priv |
|proxies_priv |
|servers |
|slow_log |
|tables_priv |
|time_zone |
|time_zone_leap_second |
|time_zone_name |
|time_zone_transition |
|time_zone_transition_type |
|user |
+---------------------------+
24rows in set (0.00 sec)
0 3 设置允许远程访问mysql服务器
? 注释bind-address= 127.0.0.1
sudo vi /etc/mysql/my.cnf # 注释下面一行
将 bind-address= 127.0.0.1 注释掉(即在行首加#),如下:
代码如下:
#Instead of skip-networking the default is now to listen only on
#localhost which is more compatible and is not less secure.
除了注视掉这句话之外,还可以把后面的IP地址修改成允许连接的IP地址。但是,如果只是开发用的数据库,为了方便起见,还是推荐直接注释掉。
从上面的注释中,可以看出,旧版本的MySQL(从一些资料上显示是5.0及其以前的版本)上使用的是skip-networking。所以,善意提醒一下,使用旧版本的小伙伴请注意一下
sudo service mysql restart
? 增加允许远程访问的用户或者允许现有用户的远程访问。
给root授予在任意主机(%)访问任意数据库的所有权限。SQL语句如下:
代码如下:
mysql>grant all privileges on . to ‘root‘@‘%‘ identified by ‘123456‘ withgrant option;
如果需要指定访问主机,可以把%替换为主机的IP或者主机名。另外,这种方法会在数据库mysql的表user中,增加一条记录。如果不想增加记录,只是想把某个已存在的用户(例如root)修改成允许远程主机访问,则可以使用如下SQL来完成:
代码如下:
update user set host=‘%‘ where user=‘root‘ and host=‘localhost‘;
? 退出数据库
代码如下:
mysql>exit;
在 MySQLShell 执行完 SQL 后,需要退出到 Bash 执行系统命令,需要执行 exit 。 因为这个太常用也太简单。以下内容就提示“退出”,不再重复列出这个命令。
? 重启数据库
完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效。执行如下命令重启数据库:
代码如下:
su do service mysql restart
0 4 arm开发板连接mysql服务器
下边的命令全是在arm开发板执行输入操作
? 确定网络状况良好
[root@sun8i ~]# ping 192.168.0.233
? 测试mysql服务连接正常
[root@sun8i ~]# mysql-h192.168.0.233 -uroot -p123456
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 37
Server version:5.5.54-0ubuntu0.12.04.1 (Ubuntu)
Copyright (c) 2000, 2010, Oracleand/or its affiliates. All rights reserved.
This software comes with ABSOLUTELYNO WARRANTY. This is free software,
and you are welcome to modify andredistribute it under the GPL v2 license
Type ‘help;‘ or ‘\h‘ for help. Type‘\c‘ to clear the current input statement.
mysql>
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
mysql> use mysql;
mysql> select Host,User,Password from user;
+-----------+------------------+-------------------------------------------+
| Host | User |Password |
+-----------+------------------+-------------------------------------------+
| localhost | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| ubuntu | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 127.0.0.1 | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| ::1 | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | debian-sys-maint |*BE992A329E738F241ACC9248FC1F4FF734A52FCD |
| % | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+------------------+-------------------------------------------+
6 rows in set (0.00 sec)
目前开发板已经可以查询出ubuntu服务器上的mysql数据,可以正常使用服务器的mysql服务开发你的分布式应用了。
流程注意点
ubuntu上的mysql服务修改网络监听;
数据库中授权远程访问;
网络设置的要和开发板相同的网络地址;