Mac安装Mysql_解决中文乱码_JDBC访问操作
来源:互联网 发布:查日本经济数据的网站 编辑:程序博客网 时间:2024/05/16 17:29
参考
http://www.runoob.com/mysql/mysql-install.html
http://blog.csdn.net/u010281209/article/details/53965409
1-安装
mac-mysql下载地址:http://dev.mysql.com/downloads/mysql/
密码要记下来,没有记录的话,可以在系统“通知”里面找到。
默认安装在/usr/local/mysql中
修改环境变量
vi ~/.bash_profile
export PATH=${PATH}:/usr/local/mysql/bin
source ~/.bash_profile
系统偏好设置中启动mysql
或者通过命令启动
mysqld_safe &
修改密码为root:mysqladmin -u root -p password "root"
测试登录:mysql -u root -p
关闭mysql
mysqladmin -u root -p shutdownEnter password: ******或者在系统偏好设置中关闭
2-解决中文乱码
修改mysql编码为utf-8,解决中文乱码问题
默认的字符设置为:
(1)通过修改临时的编码解决(治标不治本的办法):http://www.cnblogs.com/mojita/p/5347614.html
设置上面的集中编码格式
一个一个设置
set character_set_client=utf8;
就是上面这个命令,把character_set_client这个换成想要更改的就好了。
简单介绍下:
character_set_client:客户端字符集
character_set_connection:链接字符集
character_set_database:数据库字符集
character_set_filesystem:文件系统
character_set_results:结果字符集
character_set_server:服务器字符集
character_set_system:mysql系统字符集
如果上面这种办法麻烦,可以使用
set names utf8;
这个命令同时将客户端字符集,链接字符集,结果字符集设置成utf8的字符编码。
但是上面这种办法当mysql下次登录的时候还会变成原来的默认设置,只是暂时的改变当前的字符编码!
(2)设置mysql配置文件永久生效
/etc目录下自己建了一个my.cnf文件(需要最高权限,使用sudo su),然后写入内容:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
保存,修改。关掉重启mysql
重新查看字符集:show variables like '%char%';
3-基本应用
http://www.runoob.com/mysql/mysql-administration.html
默认的数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
创建数据库
mysql> create database dbtest_1;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| dbtest_1 |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
使用数据库
mysql> use dbtest_1
Database changed
mysql> show tables;
Empty set (0.00 sec)
建表
mysql> CREATE TABLE IF NOT EXISTS `tb_test_1`(
-> `city_id` VARCHAR(10) default '',
-> `city_name` VARCHAR(100) default '',
-> PRIMARY KEY ( `city_id` )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)
展示表
mysql> show tables;
+--------------------+
| Tables_in_dbtest_1 |
+--------------------+
| tb_test_1 |
+--------------------+
1 row in set (0.00 sec)
插入数据
mysql> insert into tb_test_1 (`city_id`,`city_name`)
-> values
-> ('110100','北京'),
-> ('120100','天津'),
-> ('130101','石家庄'),
-> ('130201','唐山'),
-> ('130301','秦皇岛'),
-> ('130701','张家口'),
-> ('130801','承德'),
-> ('131001','廊坊');
Query OK, 8 rows affected (0.00 sec)
Records: 8 Duplicates: 0 Warnings: 0
查看数据表内容
mysql> select * from tb_test_1;
+---------+-----------+
| city_id | city_name |
+---------+-----------+
| 110100 | 北京 |
| 120100 | 天津 |
| 130101 | 石家庄 |
| 130201 | 唐山 |
| 130301 | 秦皇岛 |
| 130701 | 张家口 |
| 130801 | 承德 |
| 131001 | 廊坊 |
+---------+-----------+
8 rows in set (0.00 sec)
4-JDBC访问操作
import java.sql.*;/** * 参考:https://www.cnblogs.com/taoweiji/archive/2012/12/11/2812852.html */public class MainApp { public static void main(String[] args) throws SQLException { Connection conn = null; // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值 // 避免中文乱码要指定useUnicode和characterEncoding // 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定, // 下面语句之前就要先创建dbtest_1数据库 String url = "jdbc:mysql://localhost:3306/dbtest_1?" + "user=root&password=root&useUnicode=true&characterEncoding=UTF8"; try { // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来, // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以 //Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动 // or: com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver(); // or: // new com.mysql.jdbc.Driver(); System.out.println("成功加载MySQL驱动程序"); // 一个Connection代表一个数据库连接 conn = DriverManager.getConnection(url); // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等 Statement stmt = conn.createStatement(); String sql = "select * from tb_test_1"; ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值 System.out.println("城市id\t城市名称"); while (rs.next()) { // 如果返回的是int类型可以用getInt() System.out.println(rs.getString(1) + "\t" + rs.getString(2)); } } catch (SQLException e) { System.out.println("MySQL操作错误"); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { conn.close(); } }}//==输出// 成功加载MySQL驱动程序// 城市id城市名称// 110100北京// 120100天津// 130101石家庄// 130201唐山// 130301秦皇岛// 130701张家口// 130801承德// 131001廊坊
- Mac安装Mysql_解决中文乱码_JDBC访问操作
- mysql_中文乱码问题
- MAC OS 安装Siblime Text2以及解决中文乱码问题
- Mac系统下的MySQL安装与中文乱码解决
- MAC Mysql 解决中文乱码
- Mysql_理解和解决MySQL乱码问题
- 中文Mac系统下MonoDevelop乱码解决
- mysql学习 - 解决中文乱码(mac下)
- mac 解决MySQL中文乱码的问题
- Mac下sublime text2 解决中文乱码
- mac解决mysql中文乱码问题
- 解决mac下sublime中文乱码
- Matlab for Mac 中文路径乱码解决
- Mac Sierra Matlab2016a中文乱码解决
- samba访问window共享 解决中文乱码
- 解决JDBC访问数据库中文乱码问题
- MAC OSX ConvertToUTF8 安装步骤(解决SublimeText2/SublimeText3显示非UTF8中文乱码问题)
- java操作mysql中文乱码解决
- 原型和原型链
- oracle中的rownum讲解
- ArrayBlockingQueue跟LinkedBlockingQueue的区别
- js获取当前日期时间“yyyy-MM-dd HH:MM:SS”
- Time system
- Mac安装Mysql_解决中文乱码_JDBC访问操作
- POJ-1287-Networking [最小生成树]
- “The method getDispatcherType() is undefined for the type HttpServletRequest”
- SVN的使用
- windows上使用sourceTree2.0.20.1+P4Merge-Build-2017.2
- ffmpeg一键安装
- Drawer与Toolbar的简单使用
- 连咸鱼都能学会的Java动态代理
- JS 获取当月第一天与最后一天